计算机二级C试题.docx
- 文档编号:7860261
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:21
- 大小:21.06KB
计算机二级C试题.docx
《计算机二级C试题.docx》由会员分享,可在线阅读,更多相关《计算机二级C试题.docx(21页珍藏版)》请在冰豆网上搜索。
计算机二级C试题
12.编写程序,计算出1到500之间所有满足下列条件的整数的和:
该整数的所有因子
(包括1,但不包括整数本身)之和等于整数本身。
#include"stdio.h"
voidmain()
{intsum=0,i,j,s;
for(i=1;i<=500;i++)
{s=0;
for(j=1;j<=i/2;j++)
if(i%j==0)s=s+j;
if(i==s)sum=sum+i;
}
printf("%d\n",sum);
}
13.编写程序,界面如下。
统计在所有3位数中,其个位、十位、百位上的数码相加等于9的数据个数。
点击“运行“按钮输出结果。
〈image.gif>
#include"stdio.h"
voidmain()
{inti,a,b,c,sum=0;
for(i=100;i<=999;i++)
{a=i/100;
b=(i-100*a)/10;
c=i-100*a-10*b;
if(a+b+c==9)sum++;
}
printf("%d",sum);
}
14.设计如图所示的运行界面,从键盘输入一批不少于10个数的任意数据,点击“计算”按钮,将实现如下功能:
去掉其中的最大数和最小数,输出剩余数据的平均值(保留两位小数)。
〈image001.gif>
#include"stdio.h"
voidmain()
{inti;
floatx,min,max,sum=0,ave;
scanf("%f",&x);
max=x;min=x;sum=sum+x;
for(i=1;i<10;i++)
{scanf("%f",&x);sum=sum+x;
if(x>max)max=x;
if(x } ave=(sum-max-min)/(i-2); printf("%5.2f",ave); } 15.编写程序,计算出300到810之间所有满足下列条件的整数的平方根和: 整数能被其每位数字的和整除。 要求: 运行程序,将结果四舍五入保留4位小数,并采用适当的方式输出。 #include"stdio.h" #include"math.h" voidmain() {inti,a,b,c; floatsum=0; for(i=300;i<=810;i++) {a=i/100; b=(i-100*a)/10; c=i-100*a-10*b; if(i%(a+b+c)==0)sum=sum+sqrt(i); } printf("%f",(int)(sum*10000+0.5)/10000.0); } 16.设计如下所示的运行界面,N表示一个八进制整数,按[确定]按钮后输出这个整数各位数字位数之和,要求和为十进制数。 用可视化编程实现。 〈image067.gif> 17.编写程序,计算出1000到5000之间能被3整除但不能被13整除的整数的所有的整数的平方根的和。 保留4位小数 #include"stdio.h" #include"math.h" voidmain() {inti;floatsum=0; for(i=1000;i<=5000;i++) if(i%3==0&&i%13! =0)sum=sum+sqrt(i); printf("%5.4f",sum); } 18.编写程序,界面如下。 统计在所有3位数中,其个位、十位、百位上的数码相加等于21的数据个数。 点击“运行”按钮输出结果。 〈image115.gif> #include"stdio.h" voidmain() {inti,a,b,c,sum=0; for(i=100;i<=999;i++) {a=i/100; b=(i-100*a)/10;/*b=(i%100)/10;*/ c=i-100*a-10*b;/*c=i%10;*/ if(a+b+c==21)sum++; } printf("%d",sum); } 19.编写程序,计算出1000到9900之间所有能被3和7同时整除的整数之和。 #include"stdio.h" voidmain() {inti; longsum=0; for(i=1000;i<=9900;i++) if(i%3==0&&i%7==0)sum=sum+i; printf("%ld",sum); } 20.设计如图所示的运行界面,从键盘输入不少于10个数的任意数据,点击“计算”按钮,输出这些数据中最小的5个数的平均值(保留两位小数)。 21.编写程序,从键盘输入一个3位正整数,试求其个、十、百位数之和(例如: 136的各位数之和为10)。 要求: 用可视化程序设计出如下界面,点击“确认”按钮输出运算结果 #include"stdio.h" voidmain() {inti,a,b,c,sum=0; printf("enteri: "); scanf("%d",&i); 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" voidmain() {intn; longsum=0; for(n=2;n<=45;n=n+2) sum=sum+(2*n-1)*(2*n)*(2*n+1); printf("%ld",sum); } 23.编写程序,计算下面数列前n项(设n=50)中奇数项的和。 结果取4位小数。 1/(1*2*3),1/(2*3*4),1/(3*4*5),……,1/(n(n+1)(n+2),…… #include"stdio.h" voidmain() {intn; floatsum=0; for(n=1;n<=50;n=n+2) sum=sum+1.0/(n*(n+1)*(n+2)); printf("%5.4f",sum); } 24.编写程序,计算并输出下面数列前n(设n=15)项的和。 用科学技术法表示结果,尾数取4位小数。 1! ,2! ,3! ,4! ,……,n! ,……(其中,! 表示求阶乘)。 #include"stdio.h" voidmain() {intn; floatsum=0,p=1; for(n=1;n<=15;n++) {p=p*n;sum=sum+p;} printf("%5.4e",sum); } 25.编写程序,计算并输出下面数列前30项的和。 1*2*3,3*4*5,5*6*7,……,(2n-1)*2n*(2n+1),…… #include"stdio.h" voidmain() {intn; longsum=0; for(n=1;n<=30;n++) sum=sum+(2*n-1)*(2*n)*(2*n+1); printf("%ld",sum); } 26.编写程序,计算并输出下面数列前40项的和,结果取6位小数,小数点后第5位四舍五入。 2/3,4/5,6/7,8/9,10/11,12/13,14/15,……,(2n)/(2n+1) 要求: 在运行程序时,使用文本框或InputBox函数输入n值,并用适当的方法输出运算结果。 #include"stdio.h" voidmain() {intn; floatsum=0; for(n=1;n<=40;n++) sum=sum+2.0*n/(2*n+1); sum=(int)(sum*10000+0.5)/10000.0; printf("%f",sum); } 27.编写程序,求下面数列前40项的和。 结果取4位小数。 1,1/2^4,1/3^4,1/4^4,……,1/n^4,……(其中,^表示幂运算) #include"stdio.h"(1.0823) #include"math.h" voidmain() {intn; floatsum=0; for(n=1;n<=40;n++) sum=sum+1.0/pow(n,4); printf("%5.4f",sum); } 28.编写程序,计算并输出下面数列前n项(设n=50)的和。 1*2,-2*3,3*4,-4*5,……,(-1)^(n-1)*n*(n+1),……(其中,^表示幂运算) #include"stdio.h" voidmain() {intn,s=1; intsum=0; for(n=1;n<=50;n++) {sum=sum+s*n*(n+1);s=-s;} printf("%d",sum); } 29.编写程序,计算并输出下面 数列前n(设n=45)项中所有奇数项的和。 1*2,2*3,3*4,4*5,……,n*(n+1),…… #include"stdio.h" voidmain() {intn; intsum=0; for(n=1;n<=45;n=n+2) sum=sum+n*(n+1); printf("%d",sum); } 30.编写程序,计算下面数列前n项(设n=50)中奇数的和。 结果取4位小数。 1/(1*2*3),1/(2*3*4),1/(3*4*5),……,1/(n(n+1)(n+2)),…… #include"stdio.h" voidmain() {intn; floatsum=0; for(n=1;n<=50;n=n+2) sum=sum+1.0/(n*(n+1)*(n+2)); printf("%5.4f",sum); } 31.编写程序,求下面数列前50项的和。 结果取4位小数。 1,1/(3*3),1/(5*5),1/7*7),……,1/(2n-1)*(2n-1),…… #include"stdio.h" voidmain() {intn; floatsum=0; for(n=1;n<=50;n++) sum=sum+1.0/((2*n-1)*(2*n-1)); printf("%5.4f",sum); } 32.编写程序,计算并输出如下数列前35项的和。 -1*2*3,2*3*4,-3*4*5,……,(-1)^n*(n*(n+1)*(n+2)),…… (其中,(-1)^n表示-1的n次方) #include"stdio.h" voidmain() {intn,s=-1; intsum=0; for(n=1;n<=35;n++) {sum=sum+s*n*(n+1)*(n+2);s=-s;} printf("%d",sum); } 33.编写程序,计算并输出下面数列中前n(设n=8)项的和。 结果取四位小数。 1/1! ,1/2! ,1/3! ,1/4! ,……,1/n! ,……(其中,! 表示求阶乘) #include"stdio.h" voidmain() {intn; floatsum=0,p=1; for(n=1;n<=8;n++) {p=n*p;sum=sum+1.0/p;} printf("%5.4f",sum); } 34.编写程序,计算并输出下列前35项的和,结果取4位小数。 1/2,2/3,3/4,4/5,5/6,6/7,7/8,……n/(n+1),…… #include"stdio.h" voidmain() {intn; floatsum=0; for(n=1;n<=35;n++) sum=sum+1.0*n/(n+1); printf("%5.4f",sum); } 35.编写程序,界面如下。 点击“运行”按钮输出下列三角形(要求用双循环实现): 〈image111.gif> A BBB CCCCC DDDDDDD #include"stdio.h" voidmain() { inti,j,k; for(i=0;i<=3;i++) { for(k=1;k<=3-i;k++) printf(""); for(j=0;j<=2*i;j++) printf("%c",'A'+i); printf("\n"); } } 36.编写程序,界面如下。 点击“运行“按钮以弹出对话框的形式输出下列三角形(要求用双循环实现): ABCDE ABCD ABC AB A #include"stdio.h" voidmain() { inti,j,k; for(i=0;i<=4;i++) {for(j=0;j<=4-i;j++) printf("%c",'A'+j); printf("\n"); } } 37.编写程序,界面如下。 点击“执行”按钮在对话框下面输出下列三角形(要求用双循环实现): AAAAAAA BBBBB CCC D #include"stdio.h" voidmain() { inti,j,k; for(i=0;i<=3;i++) { for(k=1;k<=i;k++) printf(""); for(j=0;j<=6-2*i;j++) printf("%c",'A'+i); printf("\n"); } } 38.编写程序,界面如下。 点击“运行”按钮在对话框游面输出下列三角形(要求用双循环实现)〈image127.gif>A ABC ABCDE ABCDEFG #include"stdio.h" voidmain() { inti,j,k; for(i=0;i<=3;i++) {for(j=0;j<=2*i;j++) printf("%c",'A'+j); printf("\n"); } } 39.编写程序,界面如下。 点击“OK”按钮输出下列三角形(要求用双循环实现): 12345 123 1 #include"stdio.h" voidmain() { inti,j,k; for(i=0;i<=3;i++) { for(k=1;k<=i;k++) printf(""); for(j=0;j<=6-2*i;j++) printf("%c",'1'+j); printf("\n"); } } 40.编写程序,建立一个有10个元素组成的一维数组(数据自定),然后从键盘输入一个数据,如果数组中有与输入数据相同的元素,则删除所有这样的元素,并且后面的元素依次前移。 要求: 用可视化程序设计出如下界面,点击“确定”按钮输出运算结果。 〈image049.gif> #include"stdio.h" voidmain() {ints[11]={1,2,3,2,4,2,5,7,8,9}; intk=0,i,x; printf("inputx: "); scanf("%d",&x); for(i=0;i<=9;i++) if(s[i]==x)k++;elses[i-k]=s[i]; for(i=0;i<10-k;i++)printf("%d",s[i]); } 41.编写程序,建立一个有10个元素组成的一维组数(数据自定),然后从键盘输入一个数据,如果数据组中有与输入数据相同的元素,则删除所有这样的元素,后面的元素依次前移,否则将输入数据插入到数组的中间位置。 要求: 用可视化程序设计出如下界面,点击“确定”按纽,在另一个对话框中输出运算结果〈image049.gif> #include"stdio.h" voidmain() {ints[11]={1,2,3,2,4,2,5,7,8,9}; intk=0,i,x; printf("inputx: "); scanf("%d",&x); for(i=0;i<=9;i++) if(s[i]==x)k++;elses[i-k]=s[i]; if(k! =0) {for(i=0;i<=9-k;i++) printf("%d",s[i]); printf("\n");} else {for(i=9;i>=5;i--)s[i+1]=s[i]; s[i+1]=x; for(i=0;i<=9+1;i++)printf("%d",s[i]); } } 42.编写程序,建立一个有10个元素组成的一维数组(数据自定),然后从键盘输入一个数据,如果数组中有与输入数据相同的元素,则删除所有这样的元素,后面的元素依次前移,否则将输入的数据添加到数组的末尾。 要求: 用可视化程序设计出如下界面,点击“确定”按钮,在另一个对话框中输出运算结果。 #include"stdio.h" voidmain() {ints[11]={1,2,3,2,4,2,5,7,8,9}; intk=0,i,x; printf("inputx: "); scanf("%d",&x); for(i=0;i<=9;i++) if(s[i]==x)k++;elses[i-k]=s[i]; if(k! =0) {for(i=0;i<=9-k;i++) printf("%d",s[i]); printf("\n");} else {s[i]=x; for(i=0;i<=9+1;i++)printf("%d",s[i]); printf("\n"); } } 43.编写一个处理二维数组的通用过程(函数或子程序),该过程可以对任意数值型二维数组求它最后一行和第一列中各元素平方根之和(即先求各元素的平方,然后再对该平方根求和,注意避免数组元素的重复计算)。 已知两个数组A和B(数据附后),编写主程序针对这两个数组分别调用以上过程得到两个结果SA和SB,要求主程序最后输出(3*SA)/(5*SB)。 (结果要求保留3位小数) A数组的数据如下: 33,41,53,63 16,32,91,70 42,28,42,26 82,22,14,56 B数组的数据如下: 14,12,82,33,51 22,61,22,12,17 43,12,89,20,40 44.设计如下所示的运行界面,A表示一个一维数组,要求按[确定]按钮后将该数组循环右移一位输出,用可视化编程实现。 〈image081.gif> 45.写一个处理二维数组的通用过程(函数或子程序),该过程可以对具有n*n结构的数值型二维数组求它两条对角线上各元素平方根之和(即先求各元素的平方根,然后再对该平方根求和,注意避免数组元素的重复计算)。 已知两个数组A和B(数据附后),编写主程序针对这两个数组分别调用以上过程得到两个结果SA和SB,要求主程序(7*SA)/(3*SB)。 (结果要求保留3位小数) A数组的数据如下: 21,11,13 56,34,69 24,31,23 B数组的数据如下: 14,12,82,33 22,61,22,12 43,12,89,20 32,76,23,15 46.设计如图所示的运行界面,点击“运行”按钮,完成如下功能: 由程序随机产生一个“5×5的二维数组,并且使每个数组元素n为0-100之间的正整数,输出数组中所有元素的平均值。 〈image027.gif> #include"stdio.h" #include"stdlib.h" voidmain() {inti,j,x,a[5][5],s[25]; intk,sum=0;floatave; for(i=0;i<5;i++) for(j=0;j<5;j++) { while(x=rand()) if(x>0&&x<100) {a[i][j]=x; sum=sum+a[i][j]; break;} } ave=sum/(5*5.0); printf("ave=%f\n",ave); } 47.编写一个处理二维数组的通用过程(函数或子程序),该过程可以对任意数值型二维数组求它两列中各元素平方根之和(即先求各元素的平方根,然后再对该平方根求和)。 已知两个数组A和B(数据附后),编写主程序针对这两个数组分别调用以上过程得到两个结果SA和SB,要求主程序最后输出(2*SA)/(3*SB)。 (结果要求保留3位小数) A数组的数据如下: 34,12,8,3,21 1,6,16,18,7 13,2,99,10,4 B数组的数据如下: 1,21,3 16,43,19 4,31,66 2,22,76 48.编写程序,电脑自动生产一个二维数组A(N,N),(N取5),计算每一行元素值的和。 要求: 用可视化程序设计出如下界面,点击“计算”按钮,输出结果。 〈image087.gif>例图: 输出结果可以如下图所示(仅做示例)〈image089.gif〉 49.设计如图所示的运行界面,点击“运行”按钮,完成如下功能: 由程序随机产生一个4×6的二维数组,并分别输出数组中的最大元素及其两个下标的位置。 (注: 小数点后保留2位有效数字)〈image035.gif> #include"stdio.h" #include"stdlib.h" voidmain() {inti,j,x,a[4][6]; intr,w,max=0; for(i=0;i<4;i++) for(j=0;j<6;j++) {x=rand(); a[i][j]=x; } for(i=0;i<4;i++) for(j=0;j<6;j++) if(a[i][j]>max) {max=a[i][j];r=i;w=j;} printf("最大值: %d行: %d列: %d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 试题
![提示](https://static.bdocx.com/images/bang_tan.gif)