全国计算机二级C语言上机参考题库
第03套:
一、填空题:给定程序中,函数fun的功能是:将自然数1~10以及它们的平方根写到名为 ,然后再顺序读出显示在屏幕上。
#include <>
#include <>
int fun(char *fname)
{FILE *fp; int i,n; float x;
if((fp=fopen(fname, "w"))==NULL) return 0;
for(i=1;i<=10;i++)
/**********found**********/
fprintf(___1___,"%d%f\n",i,sqrt((double)i));
printf("\eed!!\n");
/**********found**********/
___2___;
printf("\nThe data in file :\n");
/**********found**********/
if((fp=fopen(___3___,"r"))==NULL)
return 0;
fscanf(fp,"%d%f",&n,&x);
while(!feof(fp))
{printf("%d %f\n",n,x); fscanf(fp,"%d%f", &n,&x);}
fclose(fp);
return 1;
}
main()
{char fname[]="";
fun(fname);
}
解题答案:
/**********第一空*********/
fprintf(fp,"%d %f\n",i,sqrt((double)i));
printf("\eed!!\n");
/**********第二空**********/
fclose(fp);
/**********第三空**********/
if((fp=fopen(fname,"r"))==NULL)
******************************************
改错题::将n个无序整数从小到大排序。请改正程序中的错误,使它能得出正确的结果。
给定源程序:
#include <>
#include <>
fun (int n, int *a)
{int i, j, p, t;
for (j = 0; j<n-1 ; j++)
{p = j;
/************found************/
for (i=j+1; i<n-1 ; i++)
if (a[p]>a[i])
/************found************/
t=i;
if (p!=j)
{t = a[j]; a[j] = a[p]; a[p] = t;}
}
}
putarr(int n, int *z)
{int i;
for (i = 1; i <= n; i++, z++)
{printf("%4d", *z);
if (!(i%10)) printf("\n");
} printf("\n");
}
main()
{int aa[20]={9,3,0,4,1,2,5,6,8,10,7}, n=11;
printf("\n\nBefore sorting %d numbers:\n", n); putarr(n, aa);
fun(n, aa);
printf("\nAfter sorting %d numbers:\n", n); putarr(n, aa);
}
解题答案:
#include <>
#include <>
fun (int n, int *a)
{int i, j, p, t;
for (j = 0; j<n-1 ; j++)
{p = j;
/************found************/
for(i=j+1;i<n;i++)
/************found************/
p=i;
******************************************
三、程序题:函数fun的功能是: 将两个两位数的正整数a、b合并形成一个整数放在c中。
合
计算机二级c语言最新上机题库 来自淘豆网www.taodocs.com转载请标明出处.