logo - 刷刷题
下载APP
【简答题】

对10个候选人进行选举,现有一个100条记录的选票文件ENG50.IN,其数据存放格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推。每一位候选人的记录内容均为字符0或1,1表示此人被选中,0表示此人未被选中,全选或全不选(空选票)均为无效的选票。给定函数ReadDat()的功能是把选票记录读入到字符串数组xx中。请编制函数CoutRs()来统计每个人的选票数并把得票数依次存入Xyy[O]到yy[9]中,最后调用函数WriteDat()把结果”输出到文件OUT50.DAT中。 注意:部分源程序已给出。 请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。 试题程序: include char xx[100)[11]; int yy[10]; int ReadDat(void); void WriteDat(void); void CoutRs(void) { } void main() { int i; for(i=0;i<l0;i++) YY[i]=0; if(ReadDat()) { print f ( '数据文件ENG50. IN 不能打开! /n/007' ); return; } CoutRs(); WriteDat(); } int ReadDat(void) { FILE *fp; int i; char tt[13]; if((fp=fopen('ENG50.IN','r'))==NULL) return 1; for(i=0;i<100;i++) { if(fgets(tt,13,fp)==NULL) return 1; memcpy(xx[i],tt,10); xx[i] [10]=0; } fclose(fp); return 0; } void WriteDat() { FILE *fp; int i; fp= fopen('OUT50.DAT','w'); for(i=0;i<10;i++) { fprintf(fp,'%d/n',yy[i]); printf ( '第%d 个人的票数=%d/n', i+l,yy [i]); } fclose(fp); }

举报
参考答案:
参考解析:
.
刷刷题刷刷变学霸