1、 三) 改错题(每个程序只有一个错误,填入错误语句所在的行号以及修改后的语句)(1)下段程序的功能是先输入一个整数,然后将输入的整数输出。 1 main()2 int x;3 scanf(“%d”,x);4 printf(“x=%dn”,x); 行号: 改为: (2)下段程序的功能是求1+2+3+4+99+100的和。 1 main()2 int j=1,sum=0;3 while(j=100)4 sum=sum+j; j+;5 printf(“%d”,sum); 行号: 改为: (3)下段程序的功能是当输入x的值为90时,输出“right”,否则输出“error”。 1 main()2 in
2、t x;3 if (x=90) printf(“right”);4 else printf(“error”);行号: 改为: (4)下面程序的功能是输出字符串S 1 main()2 char s=”china”; 3 printf(“s=%sn”,s);行号: 改为: (5)下面程序的功能是按照下面的格式输入a和b的值,计算y=a2+b2并输出。输入: 3 2 ?输出: y=131 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=%dn”,y); 7 行号: 改为: Key:(1)行号:3 改
3、为:scanf(“%d”,&x); (2)行号:4 改为: sum=sum+j; j+; (3)行号:3 改为:if (x= =90) printf(“right”); (4)行号:3 改为:printf(“s=%sn”,s); (5)行号:4 改为:scanf(“%d %d”,&a,&b);二、填空题1.以下程序输入3个整数值给a,b,c,变量b中的值给a,变量c中的值给b,变量a中的值给c,互换后输出a,b,c的值。#include main() int a,b,c,_; printf(enter a,b,c);scanf(%d%d%d,&a,&b,&c); _;_;_;_; printf
4、(%d,%d,%d,a,b,c); 2.求出200以内的整数中,最大的可以被17整除的数是哪个数。include _int i; for(_;_;i-)if(_) break;printf(%dn,_);3.以下程序从终端读入数据到数组中,记录其中正数的个数,并计算它们之和。main() int i,a20,sun,count;sum=count=0;for(i=0;i0) count+; sum+= _ ; printf(sum=%d,count=%dn,_,_);4.以下程序的功能是调用函数fun计算:m=1+2+3+4+9+10,并输出结果。请填空。int fun( int n) int
5、 m=0,i;for(i=_; i=n; _) m=_;return _;main() printf(m=%dn, _); 5.以下程序将数组中的数据按逆序存放。include #define SIZE 12main()int aSIZE,i,j,t; for(i=0;iSIZE;i+) scanf(%d,_); i=0;j=_; while(ij) t=ai;_ _;_;i+;j_for(i=0;i0_i%17=0_i_ai_i20_i_sum_count_1_i+_m_+i_m_fun(10)_ai_SIZE_ai=ajaj=tj_-三、程序设计题目1. 编写程序,打印下列图案* * *
6、* * * * * * * *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个数的平均数。(4) 通过键盘输入3*4矩阵,编写一个函数求所有元素中的最大值,其中主函数完毕3*4矩阵的输入和最大元素的输出。 Key:3. (1) main() float c,f; s
7、canf(“%f”,&f); c=5.0*(f-32)/9; printf(“c=%f”,c); (2) int f(int a,int b) return (a-b)*(a+b); main() int a,b; scanf(“%d,%d”,&a,&b); printf(“y=%d”,f(a,b); (3) main() int a10,j;float ave=0; for (j=0;j10;j+) scanf(“%d”,&aj); ave=ave+aj; printf(“ave=%f”,ave/10); (4) #includemain() int max(int array4); int k,j,a34; for (k=0;k3;k+) for (j=0;j4;j+) scanf(“%d”,&aij); printf(the max is %d,max(a); int max(int array4) int k,j,max;max=array00;for (k=0;k3;k+) for (j=0;jmax) max=arraykj;return(max);