【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);    //这个也是一样,

}

posted @ 2017-11-05 10:21  想成为黑客  阅读(896)  评论(0编辑  收藏  举报