《C语言程序设计习题与上机指南》答案(4)

2019-08-30 16:32

11.下面程序的输出结果是3,3,3。

#include voidmain()

{inti=2,j=2,k=3; if((j++||k++)&&i++)

printf(“%d,%d,%d\\n”,i,j,k);}

12.若从键盘输入15,则下面程序输出的结果是151515。

#include voidmain() {intx;

scanf(“%d”,&x);

if(x>10)printf(“%d”,x); if(x>8)printf(“%d”,x); if(x>6)printf(“%d”,x); }

13、下面程序的输出结果是0。

#include voidmain() {

inti,t=1;

for(i=5;i>=0;i--) t=t*i;

printf(\}

14、下面程序的输出结果是D。

#include voidmain() {charch;

while((ch=getchar())!='\\n')

{if(ch>='a'&&ch<='z')ch=ch-32; printf(\}

输入内容:d

15、下面的程序为大写字母转换为小写字母。

#include voidmain() {charch;

while((ch=getchar())!='\\n')

{if(ch>='A'&&ch<='Z')ch=ch+32; printf(\}

16、输入某班级10名同学5门课程的成绩,分别统计每个学生5门课程的平均成绩。

#include voidmain() {inti,j;

floatgrade,sum,average;

for(i=1;i<=10;i++) {sum=0;

for(j=1;j<=5;j++) {scanf(\sum=sum+grade; }

average=sum/5;

printf(\}

}

17、输入若干字符数据,分别统计其中A,B,C的个数。

#include voidmain() {charc;

intk1=0,k2=0,k3=0; while((c=getchar())!='\\n') {switch(c)

{case'A':k1++;break; case'B':k2++;break; case'C':k3++;break; } }

printf(\}

18、下面程序是将从键盘输入的小写字母转变成大写字母。

#include voidmain() {intc;

while((c=getchar())!='\\n') {if(c>=?a?&&c<=?z?) putchar(c-'a'+'A'); else

putchar(c);} }

19、输出如下方阵。

1234 5678 9101112 13141516

#include voidmain() {inti,j,x;

for(i=1;i<=4;i++) {for(j=1;j<=4;j++) {x=(i-1)*4+j; printf(\

printf(\}

}

/*第一行输出j加0的值,第二行输出的是j加4,第三行输出的是j加8,第四行输出的是j加12, 0、4、8、12由(i-1)*4求得*/ 三.改错题

1、下面程序的功能是判断某一年是否闰年。

#include voidmain() {intyear,leap;

scanf(“%d”,&year); if(year%4==0)

{if(year0==0) {if(year@0!=0) leap=1; else leap=0; }

else leap=1; } else

leap=0; if(leap)

printf(“%dis”,year); else

printf(“%disnot”,year); printf(“aleapyear.\\n”); }

错误语句:if(year@0!=0) 正确语句:if(year@0==0)

2.下面的功能是输出一个4位整数的后两位数值,例如输入1234,输出34。

#include voidmain() {intx,y;

printf(“\\ninputainteger<1000--9999>:”); scanf(“%d”,x); y=x0;

printf(“%d\\n”,y); }

错误语句:scanf(“%d”,x); 正确语句:scanf(“%d”,&x);

3.输入三个整数,输出其中最大的数。 #include voidmain()

{inta,b,c,temp,max;

scanf(“%d,%d,%d”,&a,&b,&c); temp=(a>b)?a:b;

max=(tempc)?temp:c;

4.下面程序判断输入的一个整数是否能被5和7同时整除,若能整除,输出“YES”,否则,输出“NO”。

#include voidmain() {intx;

scanf(“%d”,&x); if(x%5==0||x%7==0) printf(“YES”); else

printf(“NO”);}

错误语句:if(x%5==0||x%7==0) 正确语句:if(x%5==0&&x%7==0)

5、求10到100之间能被3整除的数的个数。

#include voidmain() {inti,num;

for(i=10;i<100;i++) if(i%3==0)num++;

printf(\}

错误语句:inti,num; 正确语句:inti,num=0;

6、用π/4≈1-1/3+1/5-1/7+…公式求π的近似值,直到某一项的绝对值小于10-6为止。 #include #include voidmain() {ints;

floatn,t,pi; t=1;

pi=0; n=1.0; s=1;

while(fabs(t)>10-6) {pi=pi+t;

n=n+2; s=-s; t=s/n; } pi=pi*4;

printf(\\n\,pi);

}

错误语句:while(fabs(t)>10-6) 正确语句:while(fabs(t)>1e-6)

7、求Fibonacci数列前40个数。这个数列有如下特点:第1,2两个数为1,1。从

第3个数开始,该数是其前面两个数之和。 #include voidmain() {intf1,f2; inti;

f1=1;f2=1;

for(i=1;i<=40;i++)

{printf(\,f1,f2); if(i%2==0)printf(\\n\f1=f1+f2; f2=f2+f1;

} }

错误语句:for(i=1;i<=40;i++) 正确语句:for(i=1;i<=20;i++)

四.编程题

1.从键盘输入一个圆的半径,输出圆的面积。输出时要有文字说明,取小数点后2位。 #include voidmain() {floatr,s; scanf(“%f”,&r); s=3.14*r*r;

printf(“s=%.2f”,s);}

2.输入一个整数,判断是奇数还是偶数。 #include

voidmain() {inti;

scanf(“%d”,&i); if(i%2==0)

printf(“%d是一个偶数”,i); else

printf(“%d是一个奇数”,i); } 3.从键盘输入一个三角形的边长,输出三角形面积,取2位小数。当三角形不成立时输出“它不是一个三角形”。 #include


《C语言程序设计习题与上机指南》答案(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:矩阵练习题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: