浙江省计算机等级二级考试C语言机考题库.docx

上传人:b****7 文档编号:10493599 上传时间:2023-02-14 格式:DOCX 页数:29 大小:24.18KB
下载 相关 举报
浙江省计算机等级二级考试C语言机考题库.docx_第1页
第1页 / 共29页
浙江省计算机等级二级考试C语言机考题库.docx_第2页
第2页 / 共29页
浙江省计算机等级二级考试C语言机考题库.docx_第3页
第3页 / 共29页
浙江省计算机等级二级考试C语言机考题库.docx_第4页
第4页 / 共29页
浙江省计算机等级二级考试C语言机考题库.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

浙江省计算机等级二级考试C语言机考题库.docx

《浙江省计算机等级二级考试C语言机考题库.docx》由会员分享,可在线阅读,更多相关《浙江省计算机等级二级考试C语言机考题库.docx(29页珍藏版)》请在冰豆网上搜索。

浙江省计算机等级二级考试C语言机考题库.docx

浙江省计算机等级二级考试C语言机考题库

二级考试(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(a>b)

swap(&a,&b);

printf("%d,%d,%d",a,b,c);}

2.表达式求和。

将计算结果以格式“%。

6f”写入到考生文件夹中

#include#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.字母后移循环输出。

输入的一个小写字母,将字母循环后移5个位置后输出。

#include

voidmain()

{charc;c=getchar();

If(c>='a'&&c<'v')

c=c+5;

else

if(c>='v'&&c<='z')

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.求满足条件的数。

输入整数n(n>0),求m使得2的m次方小于或等于n,

#include

voidmain()

{intm=0,t=1,n;

while(scanf("%d",&n),n<=0);

while(!

(t<=n&&t*2>=n)){

t=t*2;

m++;}

printf("%d\n",m);}

6.求平面点间的最短距离。

数组元素x[i]

#include#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数列求值问题。

数列的第1此后各项值均为该项前二项之和。

#include

longf(intn);

voidmain()

{printf("%ld\n",f(30));}

longf(intn)

{if(n==1||n==2)

return1;

else

returnf(n-1)+f(n-2);}

运行结果:

832040

8.多项式求和问题。

计算多项式

#include#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]=b[i]=a[i]+a[i-1];

for(i=1;i<10;i++)

{printf("%3d",b[i]);

if(i%3==0)printf("\n");

}

}12.求各点距离和。

#include#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#include#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)

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#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#include#include

voidmain()

{inti,n;

/*****1*****/

structaxy{floatx,y;}a;//structaxy{floatx;floaty;}*a;

scanf("%d",&n);

a=(float*)malloc(n*2*sizeof(float));

for(i=0;i

/*****2*****/

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));

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

21.求输入整数的各位数字之和。

#include#include

voidmain()

{intn,s=0;

scanf("%d",&n);

______1______//n=fabs(n);

while(n!

=0){

______2______//s+=n%10;

n=n/10;}

printf("%d\n",s);}

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#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#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#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#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);}

运行结果:

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=___________1____________//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(____2________);//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#include#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#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);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1