全国计算机二级考试C语言试题与答案精选第一套(程序改错题)
程序改错
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
函数fun的功能是:求1到20的阶乘的和。
--------------------------------------*/
#include "stdio.h"
main ()
{
int n,j;
float s=0.0,t=1.0;
for(n=1;n<=20;n++)
{
/**********ERROR**********/
s=1;
for(j=1;j<=n;j++)
/**********ERROR**********/
t=t*n;
/**********ERROR**********/
s+t=s;
}
printf("jiecheng=%f ",s);
}
【改错1】
【参考答案】
t=1;
t=1.0;
============================================================
【改错2】
【参考答案】
t= t * j ;
t*=j;
t=j*t;
============================================================
【改错3】
【参考答案】
s= s + t ;
s+=t;
s=t+s;
============================================================
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
功能:实现两个字符串的连接。
例如:输入dfdfqe和12345时,则输出dfdfqe12345.
------------------------------------------------------*/
#include"stdio.h"
main()
{
char s1[80],s2[80];
void scat(char s1[],char s2[]);
gets(s1);
gets(s2);
scat(s1,s2);
puts(s1);
}
void scat (char s1[],char s2[])
{
int i=0,j=0;
/**********ERROR**********/
while(s1[i]= =’ ’) i++;
/**********ERROR**********/
while(s2[j]= =’ ’)
{
/**********ERROR**********/
s2[j]=s1[i];
i++;
j++;
}
/**********ERROR**********/
s2[j]=’ ’;
}
【改错1】
【参考答案】
while(s1[i]!=’ ’)i++;
while(s1[i])i++;
while(s1[i]!=NULL)i++;
while(s1[i]!=0)i++;
============================================================
【改错2】
【参考答案】
while(s2[j]!=’ ’)
while(s2[j])
while(s2[j]!=NULL)
while(s2[j]!=0)
============================================================
【改错3】
【参考答案】
s1[i]=s2[j];
============================================================
【改错4】
【参考答案】
s1[i]=’ ’;
s1[i]=NULL;
*(s1+i)=’ ’;
s1[i]=0;