2006年9月全国等级考试三级c语言上机题库(五十八)

文章作者 100test 发表时间 2007:03:10 19:15:57
来源 100Test.Com百考试题网


★☆题目58(无忧id 31 选票问题)

现有一个10个人100行的选票数据文件IN.DAT,其数据存放的格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推:内容均为字符0和1,1表示此人被选中,0表示此人未被选中,若一张选票人数小于等于5个人时被认为无效的选票。给定函数ReadDat()的功能是把选票数据读入到字符串数组xx中。请编制函数CountRs()来统计每个人的选票数并把得票数依次存入yy[0]到yy[9]中。把结果yy输出到文件OUT.DAT中。

部分源程序存在文件prog1.c中。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat()的内容。

#include

char xx[100][11].

int yy[10].

int ReadDat(void).

void WriteDat(void).

void CountRs(void)

{ int i,j,count.

for(i=0.i<100.i )

{ count=0.

for(j=0.j<10.j )

if(xx[i][j]==1) count .

if(count<=5) continue.

for(j=0.j<10.j )

if(xx[i][j]==1) yy[j] .

}

}

void main()

{

int i.

for(i=0.i<10.i )yy[i]=0.

if(ReadDat()){

printf("选票数据文件IN.DAT不能打开!\n\007").

return.

}

CountRs().

WriteDat().

}

int ReadDat(void)

{

FILE *fp.

int i.

if((fp=fopen("IN.DAT","r")) == NULL) return 1.

for(i=0.i<100.i ){

if(fgets(xx[i],12,fp)==NULL)return 1.

xx[i][10]=\0.

}

fclose(fp).

return 0.

}

void WriteDat(void)

{

FILE *fp.

int i.

fp=fopen("OUT.DAT","w").

for(i=0.i<10.i ){

fprintf(fp,"%d\n",yy[i]).

printf("第%d个人的选票数=%d\n",i 1,yy[i]).

}

fclose(fp).

}



相关文章


2006年9月全国等级考试三级c语言上机题库(六十二)
2006年9月全国等级考试三级c语言上机题库(六十一)
2006年9月全国等级考试三级c语言上机题库(六十)
2006年9月全国等级考试三级c语言上机题库(五十九)
2006年9月全国等级考试三级c语言上机题库(五十八)
2006年9月全国等级考试三级c语言上机题库(五十六)
2006年9月全国等级考试三级c语言上机题库(五十五)
2006年9月全国等级考试三级c语言上机题库(五十七)
2006年9月全国等级考试三级c语言上机题库(五十四)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛