程序改错题集_公文改错题集
程序改错题集由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“公文改错题集”。
在考生文件夹下的给定程序modi33.c中,函数fun的功能是:计算输出high以内最大的10个素数之和。high由主函数传给fun函数。
若high的值为:100,则函数的值为:732。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include #include #include #include int fun(int high){int sum=0,n=0,j,yes;/************found************/ while((high>=2)&&(n
for(j=2;j
if(high%j==0){yes=0;break}
if(yes){sum+=high;n++;}
high--;} return sum;}
main(){system(“cls”);printf(“%dn”,fun(100));} 第1 处内容填写有误
第[1]处操作错误
题面要求操作:内容为[while((high>=2)&&(n=2)&&(n
第[2]处操作错误
题面要求操作:内容为[if(high%j==0){yes=0;break;}] 实际操作结果:内容为[if(high%j==0){yes=0;break}]
本题的考核点是C语言中一些规定的应用。
本题中的第一处错误是:在C语言中,“{”和“}”应成对出现,所以程序中的语句“ while((high>=2)&&(n=2)&&(n
本题中的第二处错误是:C语言中,”;“是语句的一部分,是语句结束的标志,不可缺少,所以,” if(high%j==0){yes=0;break}“应改为”if(high%j==0){yes=0;break;}“或相同作用的语句。
本评析仅作参考。
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:按分数的高低排列学生的记录,高分在前。
注意:部分源程序存在考生文件夹下的文件prog91.c中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include #define N 16 typedef struct {
char num[10];
int s;} STREC;int fun(STREC a[]){
}
main(){ STREC s[N]={{”GA05“,85},{”GA03“,76},{”GA02“,69},{”GA04“,85},{”GA01“,91},{”GA07“,72},{”GA08“,64},{”GA06“,87},{”GA015“,85},{”GA013“,91},{”GA012“,64},{”GA014“,91},{”GA011“,91},{”GA017“,64},{”GA018“,64},{”GA016“,72}};
int i,n;FILE *out;
fun(s);
printf(”The data after sorted:n“);
for(i=0;i
{ if((i)%4==0)printf(”n“);
printf(”%s %4d“,s[i].num,s[i].s);
}
printf(”n“);
out=fopen(”out16.dat“,”w“);
for(i=0;i
{ if((i)%4==0 && i)fprintf(out,”n“);
fprintf(out,”%s
%4d“,s[i].num,s[i].s);
}
fprintf(out,”n");
fclose(out);}生成的结果文件的内容有误
文件[out16.dat]未创建
本题的考核点是按分数的高低排列学生记录的算法。
解题思路:通过选择法或其它的方法对学生记录按分数从高到低进行排序。
本评析仅供参考。
int fun(STREC a[]){int i,j,p,t,k;char h;for(i=0;i