首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
文件IN.DAT中存放有100条对10个候选人进行选举的记录,数存放的格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推。每一位内容均为字符0或1,1表示此人被选中,0表示此人未被选中,若一张选票选中人数小
文件IN.DAT中存放有100条对10个候选人进行选举的记录,数存放的格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推。每一位内容均为字符0或1,1表示此人被选中,0表示此人未被选中,若一张选票选中人数小
admin
2011-06-14
103
问题
文件IN.DAT中存放有100条对10个候选人进行选举的记录,数存放的格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推。每一位内容均为字符0或1,1表示此人被选中,0表示此人未被选中,若一张选票选中人数小于等于5个人时则被认为是无效的选票。函数ReadData()负责将IN.DAT中的内容读人数组inBuf[]中。请编制函数calculate()来统计每个人的选票数并把得票数依次存人outBuf[0]outBuf[9]中,最后写函数WriteData()把结果outBuf[]输出到文件0UT.DAT中。
注意;部分源程序已给出。
请勿改动主函数main()、读函数ReadData()和写函数WriteData()的内容。
试题程序;
#include
#include
#define LINE 100
#define COL 10
#define THR 5
char inBuf[LINE][COL];
int outBuf[COL];
int ReadData(void);
void WriteData(void);
void calculate(void)
{
}
void main()
{
int i;
for(i=0;i<10;i++)outBuf
=0;
if(ReadData())
{
printf("IN.DAT can’t be opened\007\n");
return;
}
calculate();
WriteData();
}
int ReadData(void)
{
FILE*fp;
int i;
char tt[COL+1];
if((fp=fopen("IN.DAT","r"))==NULL)
return 1;
for(i=0;i
{
if(fgets(tt,COL+1,fp)==NULL)
return 1;
memcpy(inBuf
,tt,COL);
}
felose(fp);
return 0;
}
void WriteData(void)
{
FILE*fp;
int i;
fp=fopen("OUT.DAT","w");
for(i=0;i<10;i++)
{
fprintf(fp,"%d\n",outBuf
);
printf("the amounts of number%d’svotes=%d\n",i+1,outBuf
);
}
fclose(fp);
}
选项
答案
void calculate(void) { int i,j,k,sum,use_i; int useful[LINE]={-1}; k=0; for(i=0;i
THR) //如果该选票选的人数小于等于5人,则视为无效选票 { useful[k]=i; //将有效的选票的标号放到数组useful中 k++; //将有效选票的计数器加1 } } use_i=k; //记录有效选票的个数 for(j=0;j
解析
本题主要考查如何将读入的字符型的数字转换成对应的整型数字。由于数字0~9的ASCII码是连续增加的,故可用0~9的ASCII码值减去0的ASCII码值而得到数字0~9。本题的另一个难点是如何在除去无效选票之后再进行统计。在程序中选用的是用一个数组useful[]来记录有效选票的号码,将该数组中的值作为选票数组inBuf[][]的行下标,从而实现了对无效选票的排除。
转载请注明原文地址:https://kaotiyun.com/show/EraZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
在浏览WWW服务器netlab.abc.edu.cn的index.html页面时,如果可以看到一幅图像和听到一段音乐,那么,在netlab.abc.edu.cn服务器中______。
Linux操作系统与WindowsNT、NetWare、UNIX等传统网络操作系统最大的区别是______。
ATM局域网仿真系统中,连接在ATM网络中的主机与网桥可以从逻辑上划分为若干个独立的区域,每个区域称为一个【 】。
主动攻击是指一个入侵者为了攻击一个认证机制主动插入一个网络通道,下列不周于这一方面的是()。
下列设备中,不属于手持设备的是()。
高层的互联设备是______。
操作系统所以能够找到磁盘上的文件,是因为磁盘上的文件名与存储位置的记录。在DOS中,它叫做()。
()定义了使用跳频扩频技术,传输速率为1、2、5.5与11Mbps的无线局域网。
TCP/IP参考模型分为4个层次,分别为()。
串行数据通信的方向性结构有3种,即单工、双工和______。
随机试题
宣告失踪的法律后果是()。
阅读《诗经.氓》第五、六章,然后回答下列小题。三岁为妇,靡室劳矣。夙兴夜寐,靡有朝矣。言既遂矣,至于暴矣。兄弟不知,咥其笑矣。静言思之,躬自悼矣。及尔偕老,老使我怨。淇则有岸,隰则有泮。总角之宴,言笑晏晏。信誓旦旦,不思其反。反是不思,亦已焉战!本
男,30岁。上腹部周期性、节律性疼痛3年,再发2周。为空腹及夜间痛,进食后缓解。既往体健。查体:心肺无异常。腹软,上腹部有压痛,未触及包块,肝脾肋下未触及,肠鸣音正常。腹部B超未见异常。对明确诊断最有价值的检查是()
特殊情况下,施工人员必须进入一氧化碳浓度达到100mg/m3的隧道工作面时,其工作时间不得超过()。
阻燃电缆的()越高,它的阻燃性越好。
给定资料1.早在2009年,微博就已经在网民中逐渐扩散开来。所谓微博,百度百科上是这样解释的:“微博,即微博客(MieroBlog)的简称,是一个基于用户关系的信息分享、传播以及获取平台,用户以140字左右的文字更新信息,并实现即时分享。最早也是
首次区分公罪与私罪的封建成文法典是( )。
用来导入已定义好的类或包的语句是()。
THEESCALATORAnAmerican,CharlesD.Seeberger,inventedmovingstairstotransportpeopleinthe1890s.He(26)______th
ClinicalTrials1Manyclinicaltrialsaredonetoseeifanewdrugordeviceissafeandeffectiveforpeopletouse.Sometime
最新回复
(
0
)