浙江省计算机等级二级考试(C语言)机考题库 下载本文

void main()

{ FILE *p; int x,y,z,k=0;

p=fopen(\

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,\ fclose(p); } 运行结果:144 24.字符串排序。

#include #include void main()

{ FILE *p; char *s=\ int i,j,k,n=strlen(s);

p=fopen(\ for(i=0;i

if( *(s+j)<*(s+i) ) {c=*(s+i); *(s+i)=*(s+j); *(s+j)=c; } for(i=0;i

运行结果:%,.2346@\\qsw| 25.将整数首尾倒置。

#include #include long f(long n)

{ long m,y=0; m=fabs(n); while(m!=0) { y=y*10+m;

______1______ // m/=10; } if(n>=0) return y;

else ______2________ // return –y; }

void main()

{ printf(\ printf(\ } 运行结果:54321 -76543

26.求数组的平均值,及与平均数的差。

#include #include void main()

{ FILE *p; int i,k=0;

float x[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(\ for(i=1;i<10;i++)

if(fabs(x[i]-v)

27.求平方根数列之和。

#include #include void main() { FILE *p;

int i; double s=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

void main()

{ int i,a,n; long t=0;

/********* 1 *******/ s=0; // long s=0; scanf(\ for(i=1;i<=n;i++) { /******* 2 ******/ t=t*10+i; // t=t*10+1 s=s+t; } s=s*a;

printf(\ }

29.计算学生的平均成绩,并输出。

#include struct STUDENT { char name[16]; int math; int english; int computer; int average; };

void GetAverage(struct STUDENT *pst) /* 计算平均成绩 */ { int sum=0;

sum = ___________1____________ //sum+pst->math+pst->english+pst->computer; pst->average = sum/3; } void main() { int i;

struct STUDENT st[4]={{\ {\ for(i=0;i<4;i++)

{ GetAverage (____2________); // st+i } printf(\ for(i=0;i<4;i++)

{ printf(\

st[i].computer,st[i].average); } } 30.求符合条件的数。

#include #include #include void main( ) { FILE *p; int i,j; (p=fopen(\ for(i=1; ; i++)

if(i%3==1&&i%5==3&&i%7==5&&i%9==7) break; fprintf(p,\

fclose(p); } 运行结果:313

31.求Armstrong数。

#include #include void main() { int i, m,s=0;

printf(\for(i=100; i<1000; i++) {m=i; s=0;

while (m!=0)

{s+=pow(m,3); m=m/10; } if(s= =i) printf(\ } } 运行结果:153 370 371 407 32.将两个字符串连接起来。

#include void main()

{ char s1[80],s2[40]; int i=0,j=0;

printf(\

scanf(\

printf(\ scanf(\ while (s1[i] !='\\0') /****** 1 ******/ i+1; // i++; while (s2[j] !='\\0') /****** 2 ******/

s1[++i]=s2[++j]; // s1[i++]=s2[j++]; /* 拼接字符到s1 */ s1[i] ='\\0';

printf(\ } 33.选择法排序。

#include #define N 10 void main()

{ int i,j,min,temp; int a[N]={5,4,3,2,1,9,8,7,6,0}; printf(\ /* 输出数组元素 */ for (i=0;i

printf(\

for (i=0;i

for (j=i+1; j

if (a[min]<=a[j]) min =j; // if (a[min]>=a[j]) min =j; /****** 2 ******/

temp=a[min]; a[min]=a[j]; a[j]=temp; /* 数据交换 */ // temp=a[min]; a[min]=a[i]; a[i]=temp; }

printf(\ /* 输出排序结果 */ for (i=0;i

printf(\ printf(\ }

34.计算字符串中字符权重值。