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

void main()

{ FILE *p; int i;

float x[10]={-1.5,2.1,6.3,3.2,-0.7,7.0,5.1,3.2,4.5,7.6};

float y[10]={3.5,7.6,8.1,4.5,6.0,1.1,1.2,2.1,3.3,4.4}; float s=0.0;

p=fopen(\ for(i=0;i<10;i++)

s=s+sqrt(pow(x[i]-1, 2)+pow(y[i]-1, 2)); fprintf(p,\ } 运行结果:52.679447

13.十进制数转换为二进制数。

#include void dec2bin(int m) { int bin[32],j; for(j=0;m!=0;j++) { bin[j]= m%2; m=m/2; } for(;j!=0;j--)

printf(\ bin[j-1] ); }

void main() { int n;

scanf(\ dec2bin(n); }

14.求符合条件的数列之和。

#include #include void main()

{ FILE *p; float s=0,a=81;int i; p=fopen(\ for(i=1;i<=30;i++) { s=s+a;

a=sqrt(a); } fprintf(p,\

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

15.在字符串中删除数字字符。

#include #include #include void f(char *s) { int i=0;

while(s[i]!='\\0')

{ if(isdigit(s[i])) ____1____(s+i,s+i+1); // strcpy

___2___ i++;} // else } void main() { char str[80];

gets(str); f(str); puts(str); } 16.求满足条件的数。

#include void main()

{ FILE *p; float f(float x,float y),min; int x,y,x1,y1;

p=fopen(\ min=f(1,1);

for(x=1;x<=6;x++) for(y=1;y<=6;y++)

if (f(x,y)

float f(float u,float v)

{ return (3.14*u-v)/(u+v); } 运行结果:1, 6

17.去除数组中的负数。

#include void f(int *a,int *m) { int i,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; } } void main()

{ int i,n=7,x[7]={1,-2,3,4,-5,6,-7}; _______2_______; // f(x,&n); for(i=0;i

运行结果:1 3 4 6 18.二维数组中的运算。

#include #include void main()

{ float a[3][3]={{1.3,2.7,3.6},{2,3,4.7},{3,4,1.27}}; FILE *p; float x; int i,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(\ for(i=0;i<3;i++) {

for(j=0;j<3;j++) fprintf(p,\ fprintf(p,\ } fclose(p); }

运行结果:0.361111 0.750000 1.000000 0.425532 0.638298 1.000000

0.750000 1.000000 0.317500

19.平面上各点距离计算。

#include #include #include void main() { int i,n;

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

struct axy { float x,y; } a; // struct axy{ float x; float y;} *a; scanf(\

a=(float*) malloc(n*2*sizeof(float)); for(i=0;i

scanf(\ // scanf(\ for(i=0;i

if(sqrt(a[i].x*a[i].x+a[i].y*a[i].y)<=5) printf(\ }

**试题本身有错误,a=(struct axy *) malloc(n*2*sizeof(float)); 20.从a数组中找出偶数放入b数组。

#include void main() { FILE *p;

int i,j,temp,n=0;

int a[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;ib[j+1]) {temp=b[j];b[j]=b[j+1];b[j+1]=temp;} p=fopen(\ for(i=0;i

{ fprintf(p,\ if ( (i+1)%3==0) fputc (p, ‘\\n’); } fclose(p); }

运行结果:6 10 14

20 62 88

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

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

scanf(\ ______ 1 ______ // n=fabs(n); while(n!=0) {

______ 2 ______ // s+=n; n=n/10; }

printf(\ }

22.关于生产能力的数学应用题。

#include int year(int x)

{ float p=11.5; int y=1999; while(p<=x)

{ p=p*(1+0.098); y++; } return y; } void main() { FILE *p;

p=fopen(\

fprintf(p,\ fclose(p); } 运行结果:2005,2010 23.穷举法求解方程。

#include