1、 三) 改错题(每个程序只有一个错误,填入错误语句所在的行号以及修改后的语句) (1)下段程序的功能是先输入一个整数,然后将输入的整数输出。 1 main() 2 {int x; 3 scanf(“%d”,x); 4 printf(“x=%d\n”,x); } 行号: 改为: (2)下段程序的功能是求1+2+3+4+……+99+100的和。 1 main() 2 { int j=1,sum=0; 3 while(j<=100)
2、4 sum=sum+j; j++; 5 printf(“%d”,sum); } 行号: 改为: (3)下段程序的功能是当输入x的值为90时,输出“right”,否则输出“error”。 1 main() 2 { int x; 3 if (x=90) printf(“right”); 4 else printf(“error”); } 行号: 改为: (4)下面程序的功能是输出字符串S 1 main() 2 { ch
3、ar s[]=”china”; 3 printf(“s=%s\n”,s[]); } 行号: 改为: (5)下面程序的功能是按照下面的格式输入a和b的值,计算y=a2+b2并输出。 输入: 3 2 ? 输出: y=13 1 main() 2 { int a,b; 3 int y; 4 scanf(“a=%d,b=%d”,&a,&b); 5 y=a*a+b*b; 6 printf(“y=%d\n”,y); 7 } 行号: 改为:
4、
Key:(1)行号:3 改为:scanf(“%d”,&x); (2)行号:4 改为:{ sum=sum+j; j++;}; (3)行号:3 改为:if (x= =90) printf(“right”); (4)行号:3 改为:printf(“s=%s\n”,s); (5)行号:4 改为:scanf(“%d %d”,&a,&b);
二、填空题
1.以下程序输入3个整数值给a,b,c,变量b中的值给a,变量c中的值给b,变量a中的值给c,互换后输出a,b,c的值。
#include
5、
printf("enter a,b,c");scanf("%d%d%d",&a,&b,&c);
____②____;___③_____;____④_____;___⑤_____;
printf("%d,%d,%d",a,b,c);
}
2.求出200以内的整数中,最大的可以被17整除的数是哪个数。
#include
6、程序从终端读入数据到数组中,记录其中正数的个数,并计算它们之和。 main() { int i,a[20],sun,count; sum=count=0; for(i=0;i<20;i++) scanf("%d", __①___ ); for(i=0;__ ②__;i++) { if(a>0) { count++; sum+= ___③___ ; } } printf("sum=%d,count=%d\n",__④___,__⑤_____); } 4.以下程序的功能是调用函数fun计算:m=1+2+3+4+…+9+10,并输出结果。
7、请填空。
int fun( int n)
{ int m=0,i;
for(i=___①___; i<=n; __②____)
{
m=___③____;
}
return _④____;
}
main()
{ printf("m=%d\n", __⑤____); }
5.以下程序将数组中的数据按逆序存放。
#include 8、while(i 9、①_a[i] ②_SIZE_ ③a[i]=a[j] ④a[j]=t ⑤j_--
三、程序设计题目
1. 编写程序,打印下列图案
*
* *
* * *
* * * *
* * * * *
2.某数列前两项分别为1和2,其后每项为前两项之和,求此数列的第10个数。
3.一个8层的灯塔,每一层的灯数是上一层的2倍,一共有765盏灯,求灯塔底层的灯数。
(1) 从键盘输入一个华氏温度,规定输出摄氏温度,公式为
C=5*(F-32)/9
(2) 编写一个函数求y=(a-b)×(a+b),主函数用以输入a,b的值和输出y值。
(3) 编一程序:从键盘输入 10、10个整数,计算并输出这10个数的平均数。
(4) 通过键盘输入3*4矩阵,编写一个函数求所有元素中的最大值,其中主函数完毕3*4矩阵的输入和最大元素的输出。
Key:
3.
(1) main()
{ float c,f;
scanf(“%f”,&f);
c=5.0*(f-32)/9;
printf(“c=%f”,c);
}
(2) int f(int a,int b)
11、 { return (a-b)*(a+b); }
main()
{int a,b;
scanf(“%d,%d”,&a,&b);
printf(“y=%d”,f(a,b));
}
(3) main()
{int a[10],j;
float ave=0;
for (j=0;j<10;j++)
{ scanf(“%d”,&a[j]);
ave=ave+a[j];
}
printf(“ave=%f 12、ave/10);
}
(4)
#include
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818