全国计算机二级考试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; 相关资料
|