2022年C语言编程测试题 .pdf
C语言程序设计阶段性考核(90 分钟)学号 _ 姓名 _ 得分 _ 程序设计题(本大题共 7 小题,选 5 题完成,3、5 题必选,共 100 分)注意:将在vc+中调试通过的代码复制到每题“程序代码”下面,然后提交本文档即可,文档命名为“姓名.doc”,如 张文.doc1、求出 10 到 100 内能同时被2、3、7 整除的数,并输出。程序代码:#includestdio.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 个数方式输出。程序代码:#includestdio.h void main()/输出 Fibonacci 数列 1,1,2,3,5,8,13,前42 个数,并以每行5 个数方式输出。long int f42;int i;f0=f1=1;for(i=2;i42;i+)fi=fi-1+fi-2;for(i=0;i42;i+)if(i%5=0)printf(n);printf(%10d,fi);3、编写程序,输入一个33 的矩阵,求两个对角线元素中的最大值程序代码:#includestdio.h void main()/编写程序,输入一个33 的矩阵,求两个对角线元素中的最大值int a33;int i,j,max;/*名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 4 页 -a00 a01 a02 1 2 3 a10 a11 a12 4 5 6 a20 a21 a22 7 8 9*/二重循环输入数组元素printf(请输入数组元素n);for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d,&aij);/输出二维数组for(i=0;i3;i+)for(j=0;j3;j+)printf(%d,aij);printf(n);/求二维数组对角线最大值,i=j or i+j=2 max=a00;for(i=0;i3;i+)for(j=0;jmax)max=aij;/输出最大值 printf(max=%dn,max);4、编写程序,输入 12 个数,按照从后向前的顺序依次找出并输出其中能被7 整除的所有整数以及这些整数的和,在屏幕上输出程序代码:#includestdio.h void main()/4、编写程序,输入12 个数,按照从后向前的顺序依次找出并输出其中能被7 整除的所有整数以及这些整数的和,在屏幕上输出int a12;printf(请输入数组元素n);for(i=0;i=0;i-)if(i%7=0)名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 4 页 -printf(%d,ai);sum=sum+ai;printf(n);printf(sum=%dn,sum);5、编写程序打印以下图形:(必须使用循环结构)0 1 2 3 4 5 6 7 8 9 程序代码:#includestdio.h void main()int a44;int k=0,i,j;/输入数组元素printf(请输入数组:n);for(i=0;i4;i+)for(j=0;j4;j+)scanf(%d,&aij);/变量 k 累加赋值for(i=0;i4;i+)for(j=0;j=i;j+)aij=k+;/等同于 aij=k;k=k+1;/输出数组for(i=0;i4;i+)for(j=0;j=i;j+)printf(%d,aij);printf(n);6、已知字符串char s50=”Iamstudent”,请编写程序将字符a 插入到 student之前,结果为“Iamastudent”,程序框架为:Void main()char s50=”Iamstudent”;,.名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 4 页 -程序代码:#includestdio.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)程序代码:#includestdio.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);名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 4 页 -