C语⾔⽤结构体统计投票结果C语⾔⽤结构体统计投票结果
例:有三个候选⼈,每个选民只能投给⼀个⼈,要求⽤C语⾔编写⼀个程序,实现投票功能。源代码演⽰:
#include<stdio.h>
#include<string.h>//引⼊strcmp函数
struct people //定义结构体
{
char name[20];
int number;
}leader[3]={"li",0,"zhang",0,"sun",0};//设定⼈名和初始票数
int main()
{
int i,j;
char leader_name[20];
printf("以输⼊0结束投票\n\n");//提⽰语句
while(strcmp(leader_name,"0")!=0)//定义结束while循环条件
{
printf("请输⼊⼈名\n");
scanf("%s",leader_name);
for(j=0;j<3;j++)
{c语言struct头文件
if(strcmp(leader_name,leader[j].name)==0)//⽐较两个字符串
{
leader[j].number++;//如果名字相等,票数加⼀
}
}
}
printf("结果是:\n");
for(i=0;i<3;i++)
{
printf("%s的票数:%d\n",leader[i].name,leader[i].number);
}
return0;
}
编译运⾏结果如下:
以输⼊0结束投票
请输⼊⼈名
li
请输⼊⼈名
li
请输⼊⼈名
sun
请输⼊⼈名
zhang
请输⼊⼈名
zhang
请输⼊⼈名
li
请输⼊⼈名
结果是:
li的票数:3
zhang的票数:2
sun的票数:1
--------------------------------
Process exited after 17.46 seconds with return value 0
请按任意键继续...
难点:
while(strcmp(leader_name,"0")!=0)//定义结束while循环条件
有些⼈可能认为这⾏代码可以写成:
while(leader_name!="0")
但是在C语⾔⾥⾯,字符串是不能像数字⼀样⽤等号,⼤于号和⼩于号直接进⾏⽐较的。⽽要⽤头⽂件<string.h>中的strcmp函数进⾏⽐较。
今天就先这样哒。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论