《计算机二级c试题》由会员分享,可在线阅读,更多相关《计算机二级c试题(16页珍藏版)》请在金锄头文库上搜索。
1、12. 编写程序,计算出 1 到 500 之间所有满足下列条件的整数的和:该整数的所有因子(包括 1,但不包括整数本身)之和等于整数本身。#include stdio.hvoid main() int sum=0,i,j,s;for(i=1;i#include stdio.hvoid main() int i,a,b,c,sum=0;for(i=100;i#include stdio.hvoid main() int i;float x,min,max,sum=0,ave;scanf(%f,max=x; min=x; sum=sum+x;for(i=1;imax) max=x;if(x17.
2、编写程序,计算出 1000 到 5000 之间能被 3 整除但不能被 13 整除的整数的所有的整数的平方根的和。保留 4 位小数#include stdio.h #include math.h void main() int i; float sum=0;for(i=1000;i#include stdio.h void main() int i,a,b,c, sum=0;for(i=100;i21. 编写程序,从键盘输入一个 3 位正整数,试求其个、十、百位数之和(例如:136 的各位数之和为 10) 。要求:用可视化程序设计出如下界面,点击“确认”按钮输出运算结果#include stdi
3、o.hvoid main() int i,a,b,c, sum=0;printf( enter i: );scanf(%d ,a=i/100;b=(i-100*a)/10; /* b=(i%100)/10; */c=i-100*a-10*b; /* c=i%10 ; */ sum=a+b+c;printf( i=%d,sum=%d ,i,sum);22编写程序,计算并输出下面数列前 n(设 n=45)项中所有偶数项的和。1*2*3,3*4*5,5*6*7,(2n-1)*2n*(2n+1),#include stdio.h void main() int n;long sum=0;for(n=2
4、;nABBBCCCCCDDDDDDD#include stdio.hvoid main()int i,j,k;for(i=0;iABCDEABCDABC AB A#include stdio.hvoid main()int i,j,k;for(i=0;iAAAAAAABBBBBCCCD#include stdio.hvoid main()int i,j,k;for(i=0;i AABCABCDEABCDEFG#include stdio.hvoid main()int i,j,k;for(i=0;i 1234567123451231#include stdio.hvoid main()int
5、i,j,k;for(i=0;i#include stdio.hvoid main() int s11=1,2,3,2,4,2,5,7,8,9;int k=0,i,x;printf(input x:);scanf(%d,for(i=0;i#include stdio.hvoid main() int s11=1,2,3,2,4,2,5,7,8,9;int k=0,i,x; printf(input x:);scanf(%d,for(i=0;i=5;i-) si+1=si; si+1=x;for(i=0;i#include stdio.hvoid main() int s11=1,2,3,2,4,
6、2,5,7,8,9;int k=0,i,x;printf(input x:);scanf(%d,for(i=0;i45. 写一个处理二维数组的通用过程(函数或子程序) ,该过程可以对具有 n*n 结构的数值型二维数组求它两条对角线上各元素平方根之和(即先求各元素的平方根,然后再对该平方根求和,注意避免数组元素的重复计算) 。已知两个数组 A 和 B(数据附后) ,编写主程序针对这两个数组分别调用以上过程得到两个结果 SA 和 SB,要求主程序(7*SA)/(3*SB) 。 (结果要求保留 3 位小数)A 数组的数据如下:21, 11, 1356, 34, 6924, 31, 23B 数组的数据
7、如下:14, 12, 82, 3322, 61, 22, 1243, 12, 89, 2032, 76, 23, 1546设计如图所示的运行界面,点击“运行”按钮,完成如下功能:由程序随机产生一个“55 的二维数组,并且使每个数组元素 n 为 0-100 之间的正整数,输出数组中所有元素的平均值。 image027.gif#include stdio.h#include stdlib.hvoid main() int i,j,x,a55,s25;int k,sum=0;float ave;for(i=0;i0&x例图:输出结果可以如下图所示(仅做示例) image089.gif49. 设计如图
8、所示的运行界面,点击“运行”按钮,完成如下功能: 由程序随机产生一个46 的二维数组,并分别输出数组中的最大元素及其两个下标的位置。 (注:小数点后保留 2 位有效数字) image035.gif#include stdio.h#include stdlib.hvoid main() int i,j,x,a46;int r,w,max=0;for(i=0;imax) max=aij; r=i; w=j; printf(最大值:%d 行:%d 列:%d n,max,r,w);50. 设计如图所示的运行界面,点击“运行”按钮,完成如下功能: 由程序随机产生一个55 的二维数组,并且使每个数组元素
9、n 为 0100 之间的正整数,把小于所有元素平均值的数据存放到一个一维数组中并输出之。 image029.gif#include stdio.h#include stdlib.hvoid main() int i,j,x,a55,s25;int k,sum=0,ave;for(i=0;i0&x#include stdio.h#include stdlib.hvoid main() int i,j,x,max=0,a55;for(i=0;i0&xmax) max=aij;printf(第三行元素最大值:%dn,max);52. 设计如图所示的运行界面,点击“运行”按钮,完成如下功能: 由程序随
10、机产生一个55 的二维数组,并且使每个数组元素 n 为 0100 之间的正整数,输出第三行元素中的最大者。 image017.gif53. 设计如图所示的运行界面,点击“运行”按钮,完成如下功能: 由程序随机产生一个66 的二维数组,并输出数组中的最小元素及最小元素所在列的所有元素之积。 (注:小数点后保留两位有效数字)#include stdio.h#include stdlib.hvoid main() int i,j,x,a66;int r,w,min=32767;double s=1;for(i=0;i55. 编写程序,界面如下:用循环和表达式生成下列数组,且在对话框下面输出该数组(或
11、者用另外的对话框输出) 。 2 3 4 56 7 8 910 11 12 1356. 设计如图所示的运行界面,点击“运行”按钮,完成如下功能:由程序随机产生一个55 的二维数组,并且使每个数组元素 n 为 0100 之间的正整数,输出数组中所有元素的平均值。 #include stdio.h#include stdlib.hvoid main() int i,j,x,a55;int sum=0,ave;for(i=0;i0for(i=0;i58. 已知在文本文件下载文件“20061.txt”右击,选择“目标另存为”)中共有 500 个记录,每个记录是一个用“xx.xx”格式表示的实数,编程求出
12、文件中第 16 个记录的实数是多少。#include stdio.hvoid main()FILE *fp1;int m=0;float x;fp1=fopen(20061.txt,r);while(!feof(fp1)fscanf(fp1,%f, if(m=16) printf(%fn ,x);break;fclose(fp1);59. 已知在文本文件下载文件“20061.txt” (右击,选择“目标另存为”)中共有 600 个记录,每个记录是一个用“xx.xx”格式表示的实数,编程求出文件中其值小于 30 的最大实数首次出现第几个记录。#include stdio.hvoid main()
13、 FILE *fp1;int n=0,m=0;float x,max=0;fp1=fopen(20061.txt,r);while(!feof(fp1)fscanf(fp1,%f, if(xmax printf(%dn ,n);fclose(fp1);60已知在文本文件下载文件“20062.txt” (右击,选择“目标另存为”)中共有 500 个记录,每个记录是用以下格式表示的 5 项数据(各数据间以空格分开):学号 姓名 机试成绩 笔试成绩 平时成绩nnnnnnnnn cccccc nn nn nn(说明:n 表示整型;c 表示字符型;n 的个数表示数据位数,例如 nn 表示两位整数,c的个数表示字符位数)求出前 360 人的平时成绩的平均成绩。#include stdio.hvoid main() FILE *fp1;int i,jcj,bcj,pcj,sum=0;long xh;char xm6;float ave;fp1=fopen(20062.txt,r);for(i=1;i=360;i+)fscanf(fp1,%ld%s%d%d%d,sum=sum+pcj; ave=sum/360.0;printf(%fn ,ave);fclose(fp1);