【C】统计选票程序解析-书上例题
#include <stdio.h> //一般都有的头文件
struct candidate //建立一个结构体,后面是名称
{
char name[20]; //定义变量name,设置长度20
int count; //定义变量count
} list[]={{"invalid",0},{"Zhang",0},{"Wang",0},{"Li",0},{"Zhao",0},{"Liu",0}}; //重要!!直接在结构体后面加的话,会让里面的数据与结构体里面的定义变量对应在一起!
//就是说Zhang与name对应,0与count对应。还有list是数组,数组里面有很多数据,而且数据格式一样。
int main() //主函数定义
{
int i,n; //定义变量i与n
printf("Enter vote\n"); //输出enter vote,意思就是进入投票环节
scanf("%d",&n); //输入一个数字,截获一个数字
while (n!=-1) //n只要不等于-1,就不会停止循环
{
if(n>=1&&n<=5) //如果n大于等于1又小于等于5,就是说n在1到5,就会
list[n].count++; //就会让list数组第n组的count数据加1
else //不然
{
printf("invalid\n"); //输出无效,
list[0].count++; //然后让list数组的第0组的count数据加1
}
scanf("%d",&n); //输入一个数字后截获一个数字
}
for(i=1;i<=5;i++) //循环判定环节,先来1,如果i小于等于5,就先循环一下循环,之后再加1,直到i变成6再也不符合循环判定条件,就是说从1到5,循环5次
printf("%s:%d\n",list[i].name,list[i].count); //%s是一个字符串,%d是数据,%s和%d每一个对应后面的list[i].name,list[i].count,
printf("%s:%d\n",list[0].name,list[0].count); //这个也是一样,
}