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时,
2、 输出”right”, 否则输出”error”。 1 main()2 int 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 prin
3、tf(”y=%dn”,y); 7 行号: 改为: Key:( 1) 行号: 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,
4、b,c,_; printf(enter a,b,c);scanf(%d%d%d,&a,&b,&c); _;_;_;_; printf(%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,
5、_,_);4.以下程序的功能是调用函数fun计算: m=1+2+3+4+9+10, 并输出结果。请填空。int fun( int n) int 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_cou
6、nt_1_i+_m_+i_m_fun(10)_ai_SIZE_ai=ajaj=tj_-三、 程序设计题目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个数的平均数。(4) 经
7、过键盘输入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) 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);