c实验题目实验15及答案Word文档格式.docx

上传人:b****8 文档编号:21906000 上传时间:2023-02-01 格式:DOCX 页数:19 大小:23.78KB
下载 相关 举报
c实验题目实验15及答案Word文档格式.docx_第1页
第1页 / 共19页
c实验题目实验15及答案Word文档格式.docx_第2页
第2页 / 共19页
c实验题目实验15及答案Word文档格式.docx_第3页
第3页 / 共19页
c实验题目实验15及答案Word文档格式.docx_第4页
第4页 / 共19页
c实验题目实验15及答案Word文档格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

c实验题目实验15及答案Word文档格式.docx

《c实验题目实验15及答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《c实验题目实验15及答案Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。

c实验题目实验15及答案Word文档格式.docx

2.任意输入一个三位整数,然后逆序输出。

如输入为123,则输出为321。

(1)编程,注意要有输入数据的提示语句

(2)用八进制的形式输出各位数字的ASCII码。

(3)输入取下列值时,分别运行此程序

键盘的输入

123

4567

1234567

#include<

>

intx,inversed,hundred,ten,indiv;

%d"

hundred=x/100;

ten=(x-hundred*100)/10;

indiv=x%10;

/*indiv=(x-hundred*100)-ten*10;

*/

inversed=indiv*100+ten*10+hundred;

theoriginalnumberis%d\n"

x);

theinversednumberis%d\n"

inversed);

theoctnumberis%0,%0,%0\n"

indiv+'

0'

ten+'

hundred+'

ten=((x-indiv)/10)%10;

hundred=(((x-indiv)/10-ten)/10)%10;

实验二选择结构的程序设计

1.编程计算下面的分段函数。

4x-8-1≤x<0

y=3x2+10x-10≤x<1

8x3-3x2+2x-11≤x<2

(1)事先编好程序和流程图。

要求用if语句结构实现,注意数据类型和输入提示语句。

main()

floatx,y;

printf("

inputx:

scanf("

%f"

if(x>

=-1&

&

x<

2)

{

0)

y=4*x-8;

elseif(x>

=0&

1)

y=3*x*x+10*x-1;

else

y=8*x*x*x-3*x*x+2*x-1;

y=%10.2f"

}

printf("

DATAERROR!

(2)将程序运行六遍,分别从键盘上输入-1,,0,,1,这六个数,记录下运行结果并核对结果的正确性。

调试说明

键盘输入-1

键盘输入

键盘输入0

键盘输入1

(3)再将程序运行二遍,分别从键盘上输入和2二个数,记录下运行结果并核对结果的正确性。

观察到的运行结果

程序的错误之处和调试说明

键盘输入2

④修改程序,使之能正确处理任何数据。

当输入数据大于等于2或小于-1时,通知用户“DataError”,程序结束。

键盘输入2

4.水果店有苹果,一级元/kg,二级元/kg,三级元/kg,四级kg,输入苹果的等级、数量以及顾客的付款数,显示出苹果的等级、数量、应付款数以及找给顾客的钱数。

(1)事先编好程序,分别用if语句和用switch语句结构实现,要求程序能正确处理任何数据。

当输入苹果的等级、数量以及顾客的付款数不合要求时,通知用户“DataError”,程序结束。

注意苹果等级、数量以及顾客付款数数据的类型和输入数据的提示语句。

(2)将程序运行六遍,分别从键盘上输入六组数,记录运行步骤、过程和结果,并核对结果的正确性。

预期结果

输入1,,20

输入2,,10

输入3,,11

输入4,,

输入5,3,7

输入2,,-10

main()

floatweight,money,paid;

intrank;

inputrank,weight,money:

\n"

&

rank);

inputweight:

weight);

inputmoney:

money);

switch(rank)

case1:

paid=*weight;

break;

case2:

case3:

case4:

default:

paid=0;

if(weight<

=0||money<

=0||paid<

=0||(money-paid)<

0)

else

therankis%d!

rank);

theweightis%10.1f!

weight);

paid%10.2fyuan"

paid);

thechangeis%10.2fyuan"

money-paid);

实验三循环结构的程序设计

1.编程序计算1!

+2!

+3!

+4!

+5!

(1)分别用单层循环和双层循环编写此程序,作出流程图。

单层循环

intsum=0,p=1;

intn,i;

pleaseinputn:

n);

nis%d\n"

n);

for(i=1;

i<

=n;

i++)

p=p*i;

sum=sum+p;

Theresultis%d:

sum);

双层循环:

intsum=0,p;

intn,i,j;

for(j=1,p=1;

j<

=i;

j++)

p=p*j;

sum=sum+p;

(2)分析两种编程的差别。

单层循环效率更高,计算量小。

(3)若计算

,运行程序观察程序结果是否正确,若有错误如何修改。

不正确,数据越界,将intsum=0,p=1;

改为longsum=0,p=1;

printf("

改为printf("

Theresultis%ld:

(4)若计算

改为unsignedlongsum=0,p=1;

2.编写程序并上机调试

电视大奖赛有20名评委给选手评分。

评分规则是:

去掉1个最高分,去掉1个最低分,其余18名评委的平均分选手的得分。

设计评分程序。

#defineNUM20

intsmin=0,smax=0,score;

floatsum=0;

pleaseinputplayer'

sscore:

score);

smax=smin=score;

NUM;

if(score>

smax)smax=score;

if(score<

smin)smin=score;

sum=sum+score;

sum=sum–smax–smin;

Theresultis%6.2f:

sum/(NUM-2));

 

实验四数组和指针应用的程序设计

1.定义一个有10个元素的一维数组count,从键盘上输入8个整数,将其按从大到小的顺序排列,并将排序后的数组输出。

(1)作出流程图。

(2)用数组的方法编写程序(排序算法可自己选择)

#defineN8

#include"

intcount[N+2],i,j,n;

printf("

input%dnumbers:

N);

=N;

i++)

scanf("

count[i]);

N;

for(j=i+1;

if(count[j]>

count[i])

n=count[i];

count[i]=count[j];

count[j]=n;

thesortednumbers:

%d"

count[i]);

for(j=1;

N-i+1;

if(count[j]<

count[j+1])

n=count[j];

count[j]=count[j+1];

count[j+1]=n;

(3)用指针的方法编写程序(排序算法可自己选择)

intcount[N+2],i,j,n,*p;

p=count;

p+i);

if(*(p+j)>

*(p+i))

n=*(p+i);

*(p+i)=*(p+j);

*(p+j)=n;

*(p+i));

if(*(p+j)<

*(p+j+1))

n=*(p+j);

*(p+j)=*(p+j+1);

*(p+j+1)=n;

=8;

2.输入2个字符串,将这两个字符串连接起来并输出,再将连接后的字符串反向。

(1)分别输出连接后的字符串和反向后的字符串,并求连接后的字符串长度。

(2)用字符数组的方法编写程序

#defineNUM100

charstr1[NUM],str2[NUM],str3[NUM]=;

inti,len;

inputstring1:

gets(str1);

inputstring2:

gets(str2);

strcat(str1,str2);

theconcatenationstrings:

%s\n"

str1);

len=strlen(str1);

theconcatenationstrings'

slen:

%d\n"

len);

for(i=0;

len;

str3[i]=str1[len-i-1];

str3[i]='

\0'

;

thereversestrings:

str3);

(3)用指针的方法编写程序

charstr1[NUM],str2[NUM],str3[NUM],*p1,*p2,*p3;

p1=str1;

p2=str2;

p3=str3;

gets(p1);

gets(p2);

strcat(p1,p2);

p1);

len=strlen(p1);

*(p3+i)=*(p1+len-i-1);

*(p3+i)='

p3);

实验五函数应用的程序设计

编写一函数,统计字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串并输出统计结果。

(1)作出流程图

(2)用值传送的方式实现函数调用,分别从键盘上输入三个不同字符串,并记录下运行的过程和结果。

intstat1(charc1)

if(c1>

='

a'

c1<

z'

||c1>

A'

Z'

return0;

elseif(c1=='

'

return1;

elseif(c1>

9'

return3;

return4;

charc;

inti,letters=0,space=0,digit=0,others=0;

pleaseinputsomecharacters\n"

while((c=getchar())!

\n'

switch(stat1(c))

case0:

letters++;

break;

space++;

digit++;

others++;

stat2:

char=%dspace=%ddigit=%dothers=%d\n"

letters,space,digit,others);

(3)用字符数组传送的方式实现函数调用,分别从键盘上输入三个不同字符串,并记录下运行的过程和结果。

#defineN100

intletters=0,space=0,digit=0,others=0;

voidstat2(charp2[N])

inti;

p2[i]!

if(p2[i]>

p2[i]<

||p2[i]>

elseif(p2[i]=='

elseif(p2[i]>

charstr[N];

gets(str);

stat2(str);

(4)用指针变量传送的方式实现函数调用,分别从键盘上输入三个不同字符串,并记录下运行的过程和结果。

voidstat3(char*p3)

for(;

*p3!

p3++)

if(*p3>

*p3<

||*p3>

elseif(*p3=='

elseif(*p3>

stat3(str);

stat3:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 电力水利

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1