计算机二级改版.docx
- 文档编号:5507827
- 上传时间:2022-12-17
- 格式:DOCX
- 页数:32
- 大小:1.59MB
计算机二级改版.docx
《计算机二级改版.docx》由会员分享,可在线阅读,更多相关《计算机二级改版.docx(32页珍藏版)》请在冰豆网上搜索。
计算机二级改版
二级考试(C语言)上机试题
1.三个数比较大小。
#include
voidswap(int*pa,int*pb)
{/*交换两个数的位置*/
inttemp;temp=*pa;*pa=*pb;
*pb=temp;
voidmain()
{inta,b,c,temp;
scanf("%d%d%d",&a,&b,&c);
if(a>b)swap(&a,&b);
if(b>c)swap(&b,&c);
if(______2______)//a>b
swap(&a,&b);
printf("%d,%d,%d",a,b,c);}
2.表达式求和。
#include
voidmain()
{FILE*fp;
floatn=1,t=1,pi=0;
inti;
//从以下开始答题
i=1;
while(fabs(t)>=1e-6)
{pi=pi+t;i=-i;n=n+2;
t=i/n;}
fp=fopen("Design1.dat","w");
fprintf(fp,"%.6f",4*pi);
fclose(fp);}
运行结果:
3.141594
3.字母后移循环输出。
#include
voidmain()
{charc;c=getchar();
if(______1______)//c>='a'&&c<'v'
c=c+5;
else
if(c>='v'&&c<='z')
______2______//c=c-21;
putchar(c);}
4.求满足条件的数。
#include
#include
voidmain()
{floaty=1.05;intn=1;FILE*p;
//以下开始做答
while(!
(pow(y,n)<1e6&&pow(y,n+1)>1e6))
n++;
p=fopen("Design2.dat","w");
fprintf(p,"%d,%.0f",n,pow(1.05,n));
fclose(p);}
运行结果:
283,992137
5.求满足条件的数。
#include
voidmain()
{intm=0,t=1,n;
while(_____1________);//(scanf("%d",&n),n<=0)
while(!
(t<=n&&t*2>=n)){
_____2_____//t=t*2;
m++;}
printf("%d\n",m);}
6.求平面点间的最短距离。
#include
#definelen(x1,y1,x2,y2)sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))
voidmain()
{FILE*p;inti,j;floatc,minc;
floatx[]={1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65};
floaty[]={-6,4.3,4.5,3.67,2.42,2.54,5.6,-0.97,4.65,-3.33};
minc=len(x[0],y[0],x[1],y[1]);
p=fopen("Design1.dat","w");
for(i=0;i<9;i++)
for(j=i+1;j<10;j++)
if((c=len(x[i],y[i],x[j],y[j])) minc=c; fprintf(p,"%f",minc);fclose(p);} 运行结果: 1.457944 7.Fibonacci数列求值问题。 #include _______1______//longf(intn); voidmain() {printf("%ld\n",f(30));} longf(intn) {if(______2______)//n==1||n==2 return1; else returnf(n-1)+f(n-2);} 运行结果: 832040 8.多项式求和问题。 #include voidmain() {FILE*p;inti;floatx=1.279,t=1,y=0; floata[10]={1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65}; p=fopen("Design2.dat","w"); y=a[0]; for(i=1;i<10;i++) {t=t*x;y=y+t*a[i];} fprintf(p,"%f",y); fclose(p);} 运行结果: 98.722542 9.整数转换为字符串。 #include voiditoa(longi,char*s) {if(i==0)return; /******1******/ *s='1'+i%10;//*s='0'+i%10 itoa(i/10,s-1);} voidmain() {longn;charstr[7]="";scanf("%ld",&n); /******2******/ itoa(n,str+6);//itoa(n,str+5); printf("%s",str);} 10.Fibonacci数列求值问题。 #include voidmain() {FILE*p;inti;floatf1=1.0,f2=2.0,t1=2.0,t2=3.0,s;floatf,t; s=t1/f1+t2/f2; p=fopen("Design1.dat","w"); for(i=3;i<40;i=i+2) {t1=t1+t2;t2=t1+t2;f1=f1+f2;f2=f1+f2;s=s+t1/f1+t2/f2;} fprintf(p,"%.6f",s);fclose(p);} 运行结果: 65.020950 11.数组赋值。 #include voidmain() {inta[10],b[10],i; printf("\ninput10numbers: "); for(i=0;i<10;i++)/*数组输入*/ scanf("%d",&a[i]); for(i=1;i<10;i++) b[i]=______1______;//b[i]=a[i]+a[i-1]; for(i=1;i<10;i++) {printf("%3d",b[i]); if(______2______)printf("\n");//i%3==0}} 12.求各点距离和。 #include voidmain() {FILE*p;inti; floatx[10]={-1.5,2.1,6.3,3.2,-0.7,7.0,5.1,3.2,4.5,7.6}; floaty[10]={3.5,7.6,8.1,4.5,6.0,1.1,1.2,2.1,3.3,4.4};floats=0.0; p=fopen("Design2.dat","w"); for(i=0;i<10;i++) s=s+sqrt(pow(x[i]-1,2)+pow(y[i]-1,2)); fprintf(p,"%.6f",s);fclose(p);} 运行结果: 52.679447 13.十进制数转换为二进制数。 #include voiddec2bin(intm) {intbin[32],j; for(j=0;m! =0;j++) {bin[j]=m%2; m=m/2;} for(;j! =0;j--) printf("%d",bin[j-1]); } voidmain() {intn; scanf("%d",&n); dec2bin(n);} 14.求符合条件的数列之和。 #include #include voidmain() {FILE*p;floats=0,a=81;inti; p=fopen("Design2.dat","w"); for(i=1;i<=30;i++) {s=s+a; a=sqrt(a);} fprintf(p,"%.3f",s); fclose(p);} 运行结果: 121.336 15.在字符串中删除数字字符。 #include voidf(char*s) {inti=0; while(s[i]! ='\0'){ if(isdigit(s[i]))____1____(s+i,s+i+1);//strcpy ___2___i++;}//else} voidmain() {charstr[80]; gets(str);f(str);puts(str);} 16.求满足条件的数。 #include voidmain() {FILE*p;floatf(floatx,floaty),min; intx,y,x1,y1; p=fopen("Design1.dat","w"); min=f(1,1); for(x=1;x<=6;x++) for(y=1;y<=6;y++) if(f(x,y) {x1=x;y1=y;min=f(x,y);} fprintf(p,"%d,%d",x1,y1); fclose(p);} floatf(floatu,floatv) {return(3.14*u-v)/(u+v);} 运行结果: 1,6 17.去除数组中的负数。 #include voidf(int*a,int*m) {inti,j; for(i=0;i<*m;i++) if(a[i]<0){ for(j=i--;j<*m-1;j++)a[j]=a[j+1]; _____1_____;//*m=*m-1;}} voidmain() {inti,n=7,x[7]={1,-2,3,4,-5,6,-7}; _______2_______;//f(x,&n); for(i=0;i printf("\n");} 运行结果: 1346 18.二维数组中的运算。 #include voidmain() {floata[3][3]={{1.3,2.7,3.6},{2,3,4.7}, {3,4,1.27}}; FILE*p;floatx;inti,j; for(i=0;i<3;i++) {x=fabs(a[i][0]); for(j=1;j<3;j++) if(fabs(a[i][j]>x))x=fabs(a[i][j]); for(j=0;j<3;j++) a[i][j]=a[i][j]/x;} p=fopen("Design2.dat","w"); for(i=0;i<3;i++){ for(j=0;j<3;j++)fprintf(p,"%10.6f",a[i][j]); fprintf(p,"\n");} fclose(p);} 运行结果: 0.3611110.7500001.000000 0.4255320.6382981.000000 0.7500001.0000000.317500 19.平面上各点距离计算。 #include voidmain() {inti,n; structaxy{floatx;floaty;}*a; structaxy{floatx,y;}a; scanf("%d",&n); a=(float*)malloc(n*2*sizeof(float)); for(i=0;i scanf("%f%f",&a[i].x,&a[i].y); scanf("%f%f",a[i].x,a[i].y); for(i=0;i if(sqrt(a[i].x*a[i].x+a[i].y*a[i].y)<=5) printf("%f,%f\n",a[i].x,a[i].y);} **试题本身有错误,a=(structaxy*)malloc(n*2*sizeof(float)); 21.求输入整数的各位数字之和。 #include voidmain() {intn,s=0; scanf("%d",&n); n=fabs(n); while(n! =0){ s+=n%10; n=n/10;} printf("%d\n",s);} 20.从a数组中找出偶数放入b数组。 #include voidmain() {FILE*p; inti,j,temp,n=0; inta[10]={7,6,20,3,14,88,53,62,10,29},b[10]; for(i=0;i<10;i++) if(a[i]%2==0)b[n++]=a[i]; for(i=0;i for(j=0;j if(b[j]>b[j+1]) {temp=b[j];b[j]=b[j+1];b[j+1]=temp;} p=fopen("Design1.dat","w"); for(i=0;i {fprintf(p,"%3d",b[i]); if((i+1)%3==0)fputc(p,‘\n’);} fclose(p);} 运行结果: 61014 206288 22.关于生产能力的数学应用题。 #include intyear(intx) {floatp=11.5;inty=1999; while(p<=x) {p=p*(1+0.098);y++;} returny;} voidmain() {FILE*p; p=fopen("design.dat","w"); fprintf(p,"%d,%d",year(20),year(30));fclose(p);} 运行结果: 2005,2010 23.穷举法求解方程。 #include voidmain() {FILE*p;intx,y,z,k=0; p=fopen("Design1.dat","w"); for(x=-45;x<45;x++) for(y=-45;y<45;y++) for(z=-45;z<45;z++) if(x*x+y*y+z*z==2000)k++; fprintf(p,"%d",k);fclose(p);} 运行结果: 144 24.字符串排序。 #include voidmain() {FILE*p;char*s="634,.%@\\w|sq2",c; inti,j,k,n=strlen(s); p=fopen("Design2.dat","w"); for(i=0;i for(j=i+1;j if(*(s+j)<*(s+i)){c=*(s+i);*(s+i)=*(s+j);*(s+j)=c;} for(i=0;i fclose(p);} 运行结果: %,.2346@\qsw| 25.将整数首尾倒置。 #include longf(longn) {longm,y=0;m=fabs(n); while(m! =0){ y=y*10+m%10; ______1______//m/=10;} if(n>=0)returny; else______2________//return–y;} voidmain() {printf("%ld\t",f(12345));printf("%ld\n",f(-34567));} 运行结果: 54321-76543 26.求数组的平均值,及与平均数的差。 #include voidmain() {FILE*p;inti,k=0; floatx[10]={7.23,-1.5,5.24,2.1,-12.45,6.3,-5,3.2,-0.7,9.81},d,v=0; for(i=0;i<10;i++)v+=x[i];v=v/10;d=fabs(x[0]-v); p=fopen("Design1.dat","w"); for(i=1;i<10;i++) if(fabs(x[i]-v) fprintf(p,”%.5f”,x[k]);fclose(p);} 运行结果: 2.10000 27.求平方根数列之和。 #include voidmain() {FILE*p; inti;doubles=0; for(i=2;i<=10;i++) s+=sqrt(i); p=fopen(“design2.dat”,”w”); fprintf(p,“%.10f\n”,s); fclose(p);} 运行结果: 21.4682781862 28.求多项式之和 #include voidmain() {inti,a,n;longt=0; /*********1*******/ s=0;//longs=0; scanf("%d%d",&a,&n); for(i=1;i<=n;i++){ /*******2******/ t=t*10+i;//t=t*10+1 s=s+t;} s=s*a; printf("%ld\n",s);} 29.计算学生的平均成绩,并输出。 #include structSTUDENT {charname[16]; intmath; intenglish; intcomputer; intaverage;}; voidGetAverage(structSTUDENT*pst)/*计算平均成绩*/ {intsum=0; sum=sum+pst->math+pst->english+pst->computer; pst->average=sum/3;} voidmain() {inti; structSTUDENTst[4]={{"Jessica",98,95,90},{"Mike",80,80,90}, {"Linda",87,76,70},{"Peter",90,100,99}}; for(i=0;i<4;i++) {GetAverage(st+i);} printf("Name\tMath\tEnglish\tCompu\tAverage\n"); for(i=0;i<4;i++) {printf("%s\t%d\t%d\t%d\t%d\n",st[i].name,st[i].math,st[i].english, st[i].computer,st[i].average);}} 30.求符合条件的数。 #include voidmain() {FILE*p;inti,j; (p=fopen("design.dat","w"); for(i=1;;i++) if(i%3==1&&i%5==3&&i%7==5&&i%9==7)break; fprintf(p,"%d",i); fclose(p);} 运行结果: 313 31.求Armstrong数。 #include voidmain() {inti,m,s=0; printf("armstrongnumbersin100-999: "); for(i=100;i<1000;i++) {m=i; s=0; while(m! =0) {s+=pow(m%10,3);m=m/10;} if(s==i)printf("%5d",i);}} 运行结果: 153370371407 32.将两个字符串连接起来。 #include voidmain() {chars1[80],s2[40]; inti=0,j=0; printf("\ninputthefirststring: "); scanf("%s",s1); printf("\ninputthesecondstring: "); scanf("%s",s2); while(s1[i]! ='\0') i++; i+1; while(s2[j]! ='\0') s1[i++
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机二级 改版 计算机 二级