C语言 if语句这样写可以吗?

来源:百度知道 编辑:UC知道 时间:2024/06/20 01:17:44
★题目39(无忧id 63 题)

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

输出到文件OUT.DAT中。

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

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

#include <stdio.h>

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==0||count==10) continue; ///////////////

for(j=0;j<10;j++)
if(xx[i][j]=='1') yy[j]++;

}

}

void main()

continue结束本次循环,直接从下次循环开始
遇到continue,就不再执行continue下面的语句
例如:
for(int i=0;i<10;i++)
{
语句1;
if(i ==1)continue;
语句2;
}
语句3;

当i==1时候就不执行语句2直接执行for循环中的i++

可以,因为continue的作用是:终止本次循环
你用else以后就不需要再用continue了,因为if……else……后面没有语句了

你还可以改成

if(count!=0 && count!=10);
for(j=0;j<10;j++)
if(xx[i][j]=='1') yy[j]++;

i == 1?contnue:i==2?continue:i==3?continue;