国家计算机二级考试 C语言上机100题
1:
填空题:
#include
#include
#define N 5
#define M 10
/**********found**********/ void fun(char (*ss) [M], int k) { int i=0 ;
/**********found**********/ while(i< N) {
/**********found**********/
ss[i][k]=0; i++; }
}
main()
{ char x[N][M]={"Create","Modify","Sort", "skip","Delete"};
int i;
printf("\nThe original string\n\n"); for(i=0;i
printf("\n");
fun(x,4);
printf("\nThe string after deleted :\n\n");
for(i=0; i
}
改错题:
#include
#include
double fun(double eps)
{ double s,t; int n=1;
s=0.0;
/************found************/ 原t=0; 改为t=1;
while( t>eps)
{ s+=t;
t=t * n/(2*n+1);
n++;
}
/************found************/ 原return (s); 改为return(2*s);
}
main()
{ double x;
printf("\nPlease enter a precision: "); scanf("%lf",&x);
printf("\neps=%lf,
Pi=%lf\n\n",x,fun(x));
}
编程题:
#include
void fun( char *a, int n )
{
/* 以下代码仅供参考*/
int i=0,j,k=0;
while(a[k]=='*') k++; /* k为统计
*字符个数*/
if(k>n)
{
i=n;j=k;
/* 以下完成将下标为k至串尾
的字符前移k-n个位置*/
for(; a[j] !=0 ; j++)
a[i++]=a[j];
a[i] = 0;
}
}
main()
{ char s[81]; int n;
printf("Enter a string:\n");gets(s);
printf("Enter n :
");scanf("%d",&n);
fun( s,n );
printf("The string after
deleted:\n");puts(s);
NONO();
}
2:
填空题:
#include
#include
#define N 5
typedef struct
{ int num;
char name[10];
char tel[10];
}STYPE;
void check();
/**********found**********/
int fun(STYPE *std)
{
/**********found**********/
FILE*fp; int i;
if((fp=fopen("myfile5.dat","wb"))==
NULL)
return(0);
printf("\nOutput data to file !\n");
for(i=0; i
/**********found**********/
fwrite(&std[i],
sizeof(STYPE), 1, fp);
fclose(fp);
return (1);
}
main()
{ STYPE
s[10]={ {1,"aaaaa","111111"},{1,"bb
bbb","222222"},{1,"ccccc","333333"
},
{1,"ddddd","444444"},{1,"eeeee","5
55555"}};
int k;
k=fun(s);
if (k==1)
{ printf("Succeed!");
check(); }
else
printf("Fail!");
}
void check()
{ FILE *fp; int i;
STYPE s[10];
if((fp=fopen("myfile5.dat","rb"))==N
ULL)
{ printf("Fail !!\n"); exit(0); }
printf("\nRead file and output to
screen :\n");
printf("\n num name
tel\n");
for(i=0; i
{ fread(&s[i],sizeof(STYPE),1,
fp);