C语言编程测试题.doc
C语言程序设计阶段性考核(90分钟)学号_ 姓名_ 得分_程序设计题(本大题共7小题,选5题完成,3、5题必选,共100分)注意:将在vc+中调试通过的代码复制到每题“程序代码”下面,然后提交本文档即可,文档命名为“姓名.doc”,如 张文.doc1、求出 10 到100内能同时被2、3、7整除的数,并输出。 程序代码:#include"stdio.h"void main()/求出 10 到100内能同时被2、3、7整除的数,并输出int i;for(i=10;i<=100;i+)if(i%2=0&&i&3=0&&i%7=0)printf("%d ",i);2、输出Fibonacci 数列1,1, 2,3, 5, 8, 13前42个数,并以每行5个数方式输出。程序代码:#include"stdio.h"void main() /输出Fibonacci 数列1,1, 2,3, 5, 8, 13前42个数,并以每行5个数方式输出。long int f42;int i;f0=f1=1;for(i=2;i<42;i+)fi=fi-1+fi-2;for(i=0;i<42;i+)if(i%5=0) printf("n");printf("%10d",fi);3、编写程序,输入一个3×3的矩阵,求两个对角线元素中的最大值程序代码:#include"stdio.h"void main()/编写程序,输入一个3×3的矩阵,求两个对角线元素中的最大值int a33;int i,j,max;/*a00 a01 a02 1 2 3a10 a11 a12 4 5 6a20 a21 a22 7 8 9*/二重循环输入数组元素printf("请输入数组元素n");for(i=0;i<3;i+) for(j=0;j<3;j+) scanf("%d",&aij); /输出二维数组for(i=0;i<3;i+) for(j=0;j<3;j+) printf("%d ",aij); printf("n");/求二维数组对角线最大值,i=j or i+j=2max=a00;for(i=0;i<3;i+) for(j=0;j<3;j+) if(i=j|i+j=2) if(aij>max) max=aij; /输出最大值 printf("max=%dn",max);4、编写程序,输入12个数,按照从后向前的顺序依次找出并输出其中能被7整除的所有整数以及这些整数的和,在屏幕上输出程序代码:#include"stdio.h"void main()/4、编写程序,输入12个数,按照从后向前的顺序依次找出并输出其中能被7整除的所有整数以及这些整数的和,在屏幕上输出int a12;printf("请输入数组元素n");for(i=0;i<12;i+)scanf("%d",&ai);/注意,从后向前找,下标递减for(i=11;i>=0;i-) if(i%7=0) printf("%d ",ai); sum=sum+ai; printf("n"); printf("sum=%dn",sum);5、编写程序打印以下图形:(必须使用循环结构) 0 1 2 3 4 5 6 7 8 9程序代码:#include"stdio.h"void main()int a44;int k=0,i,j;/输入数组元素printf("请输入数组:n");for(i=0;i<4;i+) for(j=0;j<4;j+) scanf("%d",&aij);/变量k累加赋值for(i=0;i<4;i+) for(j=0;j<=i;j+) aij=k+;/等同于aij=k; k=k+1; /输出数组for(i=0;i<4;i+)for(j=0;j<=i;j+)printf("%d ",aij); printf("n"); 6、已知字符串char s50=”Iamstudent”,请编写程序将字符a插入到student之前,结果为“Iamastudent”,程序框架为:Void main() char s50=”Iamstudent”;.程序代码:#include"stdio.h"void main()/6、已知字符串char s50="Iamstudent",请编写程序将字符a插入到student之前,结果为"Iamastudent"char s50="Iamstudent"int i;/字符串实际长度为10,数组下标为09的存储for(i=strlen(s)-1;si!='s'i-) si+1=si;/每个字符向后移一个si+1=si;/'s'向后一定一个,s的位置用来存放asi='a'printf("%sn",s);7、设计程序计算以下式子的值1+(1+2)+(1+2+3)+(1+2+3+4)+。+(1+2+3+。+99+100)程序代码:#include"stdio.h"void main()/设计程序计算以下式子的值/(0+1)+(1+2)+(1+2+3)+(1+2+3+4)+。+(1+2+3+。+99+100)int i,j,sum1,sum=0;for(i=1;i<=100;i+)/可以将100改成5测试结果的正确性,i表示1到100项sum1=0;for(j=1;j<=i;j+) sum1=sum1+j;/求每一项的累加和sum=sum+sum1;/求总和,在每一项求和之后printf("%dn",sum);