上机考试样卷--答案

一、程序调试

1.

(1) scanf (“%d”,&n),n<=0

(2) t=t*2

2..

(1) float *x[],int m,int n

(2) a[i]

3..

(1) m<=0||n<=0

 

(2) k=m<n?m:n

4 .

(1) *m=*m-1

(2) f(x,&n)

5 .

(1) while(n>0)

(2) n=n/10

6

(1) m=m/10

(2) return –y;

7.

(1) return 1

(2) f(a,b,c,&u1,&u2)

8..

(1) t=a[0]

(2) j=1;j<n;j++

9..

(1) int i

(2) i==1

10 .

(1) float *x[],int m,int n

(2) a[i]

11.

(1) *m=*m-1

(2) f(x,&n)

12 .

(1) y=x[0]

(2) f(b,5,-1)

13.

(1) m<=0||n<=0 ||m>n

 

(2) k=k*n

 

二、程序设计题

1. 参考程序

  p=fopen("design.dat","w");

  while (*a!=’\0’)

  {s=s+*a;   a++;}

   fprintf(p,"%d",s);

  fclose(p);

2. 参考程序

  p=fopen("design.dat","w");

  for(x=1;x<=sqrt(2000);x++)

   for(y=1;y<=sqrt(2000);y++)

  for(z=1;z<=sqrt(2000);z++)

if((x*x+y*y+z*z)==2000)

k++;

  fprintf(p,"%d", k);

  fclose(p);

3. 参考程序

  FILE *p; int x=0;

p=fopen("design.dat","w");

do{

x++; }

  while( !(x%3==1&& x%5==3&& x%7==5&& x%9==7));

  fprintf(p,"%d",x);

  fclose(p);

4. 参考程序

p=fopen("design.dat","w");

for( i=2;i<=12;i++)

{ k=k*i;

  s=s+k; }

  fprintf(p,"%ld",s);        (“ld”才能输出正确的结果,题目要求有误)

  fclose(p);

5. 参考程序

 p=fopen("design.dat","w");

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

if( ( (x[i]-1)* (x[i]-1)+ (y[i]+0.5)* (y[i]+0.5)<25)

&& ( (x[i]-0.5)* (x[i]-0.5)+y[i]* y[i]<36 ) )

  k++;

 fprintf(p,"%d",k);

  fclose(p);

6. 参考程序

 p=fopen("design.dat","w");

for( i=0;i<n-1;i++){

  k=i;

for(j=i+1;j<n;j++)

 if(s[k]>s[j])  k=j;

if(i!=k){c=s[i];s[i]=s[k];s[k]=c;}  }

7. 参考程序

 p=fopen("design.dat","w");

min=f(1,1);

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

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

   if(min>=f(x,y))

  {x1=x;  y1=y;  min=f(x,y);}

fprintf(p,"%d,%d",x1,y1);

  fclose(p);

8. 参考程序

for( i=0;i<3;i++){

x=a[i][0];

for( j=0;j<3;j++)

   if(x<a[i][j]) x= a[i][j];

for( j=0;j<3;j++)

   a[i][j] = a[i][j]/x; }

9. 参考程序

 p=fopen("design.dat","w");

do

{n++;}

while( !( pow(1.05,n)<1e6 && pow(1.05,n+1)>1e6 ) );

10. 参考程序

 p=fopen("design.dat","w");

while(fabs(t)>1e-5){

  t= -1/((i-1)*i)*t;

  s=s+t;

  i+=2;

 }

fprintf(p,"%.6f",s);

  fclose(p);

11. 参考程序

 p=fopen("design.dat","w");

for( i=0;i<9;i++)

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

{c=len(x[i],y[i],x[j],y[j]);

  if(c<minc) minc=c;

}

fprintf(p,"%f",minc);

  fclose(p);