程序改错题
(注意:每小题只有1行有错误,答题时请指出错误位置并给出改正结果)1.
输出计算结果。
main()
{ int a=b=10;
a+=b+5;
b*=a+=10;
printf("%d%d\n",a,b);
}
2.
输出计算结果。
#include
main()
{ float x,y;
scanf("%f",x);
y=x*56/97;
printf("%f\n",y);
}
3.
输出计算结果。
main()
{ int x=2,y=3;
z=(x++,y++);
printf("%d",z);
}
4.
输出运行结果。
main()
{ float a,b,c,v;
a=2.0;b=3.0;c=4.0;
v=a*b*c;
printf("%f\n" ,v)
}
5.
输出运行结果。
#include “stdio.h”
main(){
float r,s;
r=5.0;
s=3.14159*r*r;
printf("%d\n",s);
}
输出程序运行结果。
#include
main()
{ char ch;
scanf("%c",ch);
printf("%d\n",ch);
}
7.
输入一整数判断是否能被13整除。main()
{ int i;
scanf(“%d”,i);
if(i%13==0) printf("yes"); else printf("no");
}
8.
输出程序运行结果。
main()
{ int a,b;
float x,y,z;
scanf("%f%f%f",&x,&y,&z); a=b=x+y+z;
c=a+b;
printf("%d%d%d",a,b,c);
}
9.
输出程序运行结果。
#include
main()
{ float x,y;
scanf("%f",&x);
y=2x+10;
printf("%f\n",y);
}
10.
输出程序运行结果。
main()
{ int a,b='B';
scanf("%d",a);
printf("%c,",b++);
printf("%d\n",b-a);
}
下列程序的功能是计算字符串的字符个数。
#include "stdio.h"
main()
{ char str[80];
int s,i=0;
gets(str);
for(;str[i]!=…\0?;i++)
s++;
printf("%4d\n",s);
}
12.
给定n个实数,输出平均值,并统计在平均值以下(含平均值)的实数个数. main()
{
float x[]={23.5,45.67,12.1,6.4,58.9,98.4},sum=0,ave;
int n=6,j,c=0;
for(j=0;j sum+=x[j]; ave=sum/n; printf("ave=%f\n",ave); for(j=0;j if(x[j]>=ave) c++; printf("%d\n",c); } 13. 下列程序的功能是计算3×3矩阵的主对角线元素之和。 main() {int i,a[3][3]={1,2,3,4,5,6,7,8,9},sum=0; for(i=0;i<=3;i++) sum=a[i][i]; printf("sum=%d\n",sum); } 14. 下列程序的功能是复制字符串a 到b中。 main() {char a[20]="abcde",b[20]; char *str1=a,*str2; str2=b; while(*str2++==*str1++); printf("%s",b); } 15. 找出大于m的最小素数 { int i,m,k; scanf("%d",&m); for(i=m+1;;i++) {for(k=2;k if(i%k==0) break; if(k<=i) {printf("%d\n",i);break;} } } 16. 从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线上的元素之和sum。 #include "stdio.h" main() { int a[3][3],sum=0; int i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); for(i=0;i<3;i++) sum=sum+a[i][j]; printf("sum=%d\n",sum); } 17. 下列程序的功能是统计字符串中空格数。 #include "stdio.h" main() { int num; char a[81],*str=a,ch; gets(a); while((ch=*str++)!=?\0?) if(ch==? ?) num++; printf("num=%d\n",num); } 18. 下列程序的功能是输入一个字符串,然后再输出。 main() { char a[20]; int i=0; scanf("%s",&a); while(a[i]) printf("%c",a[i++]); } 实现两个字符串的连接 void scat (char s1[],char s2[]) { int i=0,j=0; while(s1[i]!='\0') i++; while(s2[j]!='\0') { s1[i]=s2[j]; i++; j++; } s2[i]='\0'; } 20. 有N×N矩阵A,进行a[i][j]+a[j][i]的操作后,存放在矩阵B中,并输出B矩阵。#define N 3 #include main() { int a[N][N]={{1,2,3},{4,5,6},{7,8,9}},b[N][N]; int i,j;