搜索
您的当前位置:首页正文

C语言编程测试题(含答案)

来源:爱够旅游网


《C语言程序设计》阶段性考核(90分钟) 学号__________ 姓名_________ 得分_________

程序设计题(本大题共7小题,选5题完成,3、5题必选,共100分)

注意:将在vc++中调试通过的代码复制到每题“程序代码”下面,然后提交本文档即可,文档命名为“姓名.doc”,如 张文.doc 1、求出 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 \} }

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 f[42]; int i; f[0]=f[1]=1; for(i=2;i<42;i++)

f[i]=f[i-1]+f[i-2]; for(i=0;i<42;i++)

{if(i%5==0) printf(\"\\n\"); printf(\"%10d\} }

3、编写程序,输入一个3×3的矩阵,求两个对角线元素中的最大值 程序代码: #include\"stdio.h\" void main() {

//编写程序,输入一个3×3的矩阵,求两个对角线元素中的最大值

int a[3][3]; int i,j,max; /*

a[0][0] a[0][1] a[0][2] 1 2 3 a[1][0] a[1][1] a[1][2] 4 5 6 a[2][0] a[2][1] a[2][2] 7 8 9 */

//二重循环输入数组元素 printf(\"请输入数组元素\\n\"); for(i=0;i<3;i++) for(j=0;j<3;j++) {

scanf(\"%d\

}

//输出二维数组 for(i=0;i<3;i++) {

for(j=0;j<3;j++) {

printf(\"%d \ }

printf(\"\\n\"); }

//求二维数组对角线最大值,i=j or i+j=2 max=a[0][0]; for(i=0;i<3;i++) for(j=0;j<3;j++) {if(i==j||i+j==2)

{if(a[i][j]>max) max=a[i][j]; } }

//输出最大值

printf(\"max=%d\\n\}

4、编写程序,输入12个数,按照从后向前的顺序依次找出并输出其中能被7整除的所有整数以及这些整数的和,在屏幕上输出 程序代码: #include\"stdio.h\" void main()

{//4、编写程序,输入12个数,按照从后向前的顺序依次找出并输出其中能被7整除的所有整数以及这些整数的和,在屏幕上输出 int a[12];

printf(\"请输入数组元素\\n\"); for(i=0;i<12;i++) scanf(\"%d\

//注意,从后向前找,下标递减 for(i=11;i>=0;i--) if(i%7==0)

{printf(\"%d \ sum=sum+a[i]; }

printf(\"\\n\");

printf(\"sum=%d\\n\ }

5、编写程序打印以下图形:(必须使用循环结构) 0 1 2 3 4 5 6 7 8 9 程序代码: #include\"stdio.h\" void main() {int a[4][4]; int k=0,i,j; //输入数组元素

printf(\"请输入数组:\\n\"); for(i=0;i<4;i++) for(j=0;j<4;j++)

{scanf(\"%d\

//变量k累加赋值 for(i=0;i<4;i++) for(j=0;j<=i;j++) {

a[i][j]=k++;//等同于a[i][j]=k; k=k+1; }

//输出数组 for(i=0;i<4;i++) {for(j=0;j<=i;j++) {printf(\"%d \ printf(\"\\n\"); } }

6、已知字符串char s[50]=”Iamstudent”,请编写程序将字符a插入到student之前,结果为“Iamastudent”,程序框架为: Void main()

{ char s[50]=”Iamstudent”; „„„.. }

程序代码: #include\"stdio.h\"

void main()

{//6、已知字符串char s[50]=\"Iamstudent\请编写程序将字符a插入到student之前,结果为\"Iamastudent\" char s[50]=\"Iamstudent\"; int i;

//字符串实际长度为10,数组下标为0~9的存储

for(i=strlen(s)-1;s[i]!='s';i--) s[i+1]=s[i];//每个字符向后移一个

s[i+1]=s[i];//'s'向后一定一个,‘s’的位置用来存放‘a’ s[i]='a';

printf(\"%s\\n\ }

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(\"%d\\n\ }

因篇幅问题不能全部显示,请点此查看更多更全内容

Top