改错题1注意事项1.标有$ERROR?$的程序行有错,请直接在该行修改2.请不要删除$ERROR?$错误标志3.请不要将错误行分成多行4.请不要修改任何注释5.不要自己运行Windows下的MSDOS方式进入TC进行编程等,其结果不能保证正确回收,导致评分错误题目:随机输入10个数,选出其中的最小数。程序如下:main(){inti,min,a[10];printf(input10number:\n);for(i=0;i=10;i++)/*$ERROR1$*/scanf(%d,a[i]);/*$ERROR2$*/min=a[0];for(i=1;i10;i++)if(a[i]a[0])/*$ERROR3$*/min=a[i];printf(minnum=%d\n,min);}题目答案$1$:for(i=0;i10;i++)$1$:for(i=0;i=9;i++)$2$:scanf(%d,&a[i]);$3$:if(a[i]min)$3$:if(mina[i])改错题2注意事项1.标有$ERROR?$的程序行有错,请直接在该行修改2.请不要删除$ERROR?$错误标志3.请不要将错误行分成多行4.请不要修改任何注释5.不要自己运行Windows下的MSDOS方式进入TC进行编程等,其结果不能保证正确回收,导致评分错误题目:不用strcat函数,将键盘输入的两个字符串连接起来形成一个新串。main(){chars1[50],s2[20];inti,j=0;printf(EnterstringNo.1:\n);gets(s1);printf(EnterstringNo.2:\n);scanf(%s,&s2);/*$ERROR1*$/for(i=0;s1[i]='\0';i++);/*$ERROR2$*/while((s1[i++]==s2[j])!='\0');/*$ERROR3$*/printf(\nNewstring:%s\n,s1);}题目答案$1$:scanf(%s,s2);$2$:for(i=0;s1[i]!='\0';i++);$2$:for(i=0;s1[i]!=NULL;i++);$3$:while((s1[i++]=s2[j++])!='\0');改错题3注意事项1.标有$ERROR?$的程序行有错,请直接在该行修改2.请不要删除$ERROR?$错误标志3.请不要将错误行分成多行4.请不要修改任何注释5.不要自己运行Windows下的MSDOS方式进入TC进行编程等,其结果不能保证正确回收,导致评分错误题目:求数组的平均值。#includestdio.hintmean(intx[],intnum)/*$ERROR1$*/{inti;floatavg;for(avg=0,i=0;inum;i++)avg+=x[i];avg/=num;return;/*$ERROR2$*/}main(){inti,a[15];for(i=0;i15;i++)a[i]=i+1;printf(average:%6.2f\n,mean(a[15]));/*$ERROR3$*/}题目答案$1$:floatmean(intx[],intnum)$2$:returnavg;$2$:return(avg);$3$:printf(average:%6.2f\n,mean(a,15));改错题4注意事项1.标有$ERROR?$的程序行有错,请直接在该行修改2.请不要删除$ERROR?$错误标志3.请不要将错误行分成多行4.请不要修改任何注释5.不要自己运行Windows下的MSDOS方式进入TC进行编程等,其结果不能保证正确回收,导致评分错误题目:让计算机出10道100以内的整数加法题,让学生回答。回答正确时,计算机提示正确!,错误时提示错误!,并统计做对的题数。程序如下:#includestdlib.h#includestdio.hmain(){inta,b,c,i,n=0;randomize();for(i=0;i10;i++){a=random(100);b=random(100);printf(%4d\n,a);printf(%c%3d\n,'+',b);printf(----\n);printf(?);scanf(%d,c);/*$ERROR1$*/if(c=a+b)/*$ERROR2$*/printf(right!\n);n=n+1;/*$ERROR3$*/elseprintf(wrong!\n);}printf(RightTotal=%d!,n);}题目答案$1$:scanf(%d,&c);$2$:if(c==a+b)$2$:if(a+b==c)$2$:if(c==b+a)$2$:if(b+a==c)$3$:{printf(right!\n);n=n+1;}$3$:{n=n+1;printf(right!\n);}改错题5注意事项1.标有$ERROR?$的程序行有错,请直接在该行修改2.请不要删除$ERROR?$错误标志3.请不要将错误行分成多行4.请不要修改任何注释5.不要自己运行Windows下的MSDOS方式进入TC进行编程等,其结果不能保证正确回收,导致评分错误题目:下面程序的功能是输出字符串。main(){char*a[]={English,Chinese,American,French};char*p;/*$ERROR1$*/intj=0;p=a;for(;j=4;j++)/*$ERROR2$*/printf(%s\n,*p);/*$ERROR3$*/}题目答案$1$:char**p;$2$:for(;j4;j++)$2$:for(;j=3;j++)$2$:for(;j4;j=j+1)$2$:for(;j=3;j=j+1)$3$:printf(%s\n,*p++);$3$:{printf(%s\n,*p);p++;}改错题6注意事项1.标有$ERROR?$的程序行有错,请直接在该行修改2.请不要删除$ERROR?$错误标志3.请不要将错误行分成多行4.请不要修改任何注释5.不要自己运行Windows下的MSDOS方式进入TC进行编程等,其结果不能保证正确回收,导致评分错误题目:下面的程序先打印所给的前三个字符串,然后再打印前三个字符串的首字符。请找出程序中的错误。main(){charalpha[5]={a,bc,def,l,23},**p;/*$ERROR1$*/inti;p=alpha;for(i=0;i3;i++,p++)printf(%s,**p);/*$ERROR2$*/printf(\t);p=p-3;for(i=0;i3;i++,p++)printf(%c\t,*p);/*$ERROR3$*/printf(\n);}题目答案$1$:char*alpha[5]={a,bc,def,l,23},**p;$2$:printf(%s,*p);$3$:printf(%c\t,**p);改错题7注意事项1.标有$ERROR?$的程序行有错,请直接在该行修改2.请不要删除$ERROR?$错误标志3.请不要将错误行分成多行4.请不要修改任何注释5.不要自己运行Windows下的MSDOS方式进入TC进行编程等,其结果不能保证正确回收,导致评分错误以下程序分别在a数组和b数组中放入an+1和bn+1个由小到大的有序数,程序把两个数组中的数按由小到大的顺序归并到c数组中。#includestdio.hmain(){inta[10]={1,2,5,8,9,10},an=5;intb[10]={1,3,4,8,12,18},bn=5;inti,j,k,c[20],max=9999;a[an]=b[bn]=max;/*$ERROR1$*/i=j=k=0;while((a[i]!=max)&&(b[j]!=max))/*$ERROR2$*/if(a[i]b[j]){c[k]=a[i];k++;i++;}else{c[k]=b[k];k++;j++;}/*$ERROR3$*/for(i=0;ik;i++)printf(%4d,c[i]);printf(\n);}题目答案$1$:a[an+1]=b[bn+1]=max;$1$:b[bn+1]=a[an+1]=max;$1$:a[6]=b[bn+1]=max;$1$:b[6]=a[an+1]=max;$1$:a[an+1]=b[6]=max;$1$:b[bn+1]=a[6]=max;$1$:a[1+an]=b[1+bn]=max;$1$:b[1+bn]=a[1+an]=max;$1$:a[1+an]=b[bn+1]=max;$1$:b[1+bn]=a[an+1]=max;$1$:a[an+1]=b[1+bn]=max;$1$:b[bn+1]=a[1+an]=max;$1$:a[6]=b[1+bn]=max;$1$:b[6]=a[1+an]=max;$1$:a[1+an]=b[6]=max;$1$:b[1+bn]=a[6]=max;$1$:a[6]=b[6]=max;$1$:b[6]=a[6]=max;$2$:while((a[i]!=max)||(b[j]!=max))$2$:while((b[j]!=max)||(a[i]!=max))$2$:while((max!=a[i])||(b[j]!=max))$2$:while((max!=b[j])||(a[i]!=max))$2$:while((a[i]!=max)||(max!=b[j]))$2$:while((b[j]!=max)||(max!=a[i]))$2$:while((max!=a[i])||(max!=b[j]))$2$:while((max!=b[j])||(max!=a[i]))$3$:else{c[k]=b[j];k++;j++;}$3$:else{c[k]=b[j];j++;k++;}$3$:else{c[k]=b[j];k=K+1;j++;}$3$:else{c[k]=b[j];k=K+1;j=j+1;}$3$:else{c[k]=b[j];j=j+1;k++;}$3$:else{c[k]=b[j];j=j+1;k=k+1;}改错题8注意事项1.标有$ERROR?$的程序行有错,请直接在该行修改2.请不要删除$ERROR?$错误标志3.请不要将错误行分成多行4.请不要修改任何注释5.不要自己运行Windows下的MSDOS方式进入TC进行编程等,其结果不能保证正确回收,导致评分错误题目:以下程序是将输入的十进制数转换为二进制数输出。#includestdio.hmain(){inty,i=0,j,a[16];scanf(%d,&y);do{a[i]=y%2;/*$ERROR1$*/y/=2;}while(y=0);/*$ERROR2$*/for(j=i;j=0;j--)/*$ERROR3$*/printf(%d,a[j]);printf(\n);}题目答案$1$:a[i++]=y%2;$1$:a[i]=y%2;i++;$1$:a[i]=y%2;++i;$1$:a[i]=y%2;i=i+1;$2$:while(y=1)$2$:while(y)$2$:while(1=y)$2$:while(y!=0)$2$:while(0!=y)$3$:for(j=i-1;j=0;j--)$3$:for(j=i-1;0=j;j--)$3$:for(j=i-1;-1j;j--)$3$:for(j=i-1;j=0;j=j-1)$3$:for(j=i-1;0=j;j=j-1)$3$:for(j=i-1;-1j;j=j-1)改错题9注意事项1.标有$ERROR?$的程序行有错,请直接在该行修改2.请不要删除$ERROR?$错误标志3.请不要将错误行分成多行4.请不要修改任何注释5.不要自己运行Windows下的MSDOS方式进入TC进行编程等,其结果不能