投票系统:给定候选人名单,从键盘输入候选人的名字,统计票数,并输出最终获胜者。若投票人输入的名字不在其候选名单上,则该票数无效。

//凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/

 #include<stdio.h>
#include<string.h>
#define NUM 10 //投票的人数
#define K 4 //候选人数
struct vote{
char name[];
int num;
}candidate[K]={"Mark", , "wrr", , "Mary", , "Kay", }; void main(){
char input[];
int i, j, m=, n=, max=; printf("\t\tWelcome to the voting system!\n");
printf("\t\tcandidate:");
for(j=;j<K;j++){
printf("%s ", candidate[j].name);
}
printf("\n"); for(i=;i<NUM;i++){
printf("No.%d is voting ,name is :", i+);
scanf("%s",input);
for(j=;j<K;j++){
if(strcmp(candidate[j].name, input)==){
n=candidate[j].num++;
}
if(max<n){
max=n;
m=j;
}
}
}
printf("\n\n");
//int strcmp(char *a, char *b) 比较字符串a, b
//a<b, 返回负数; a=b,返回 0 ; a>b,返回正数
for(j=;j<K;j++){
printf("%s's number of votes is %d\n", candidate[j].name, candidate[j].num);
} printf("\nThe victor is %s !!! \nThe number of votes is %d\n\n", candidate[m].name, max+);
}

结果为:

最新文章

  1. NLP常用工具
  2. IBatis.Net使用总结(一)-- IBatis解决SQL注入(#与$的区别)
  3. RabbitMQ入门教程——安装及配置
  4. Azure平台 对Twitter 推文关键字进行实时大数据分析
  5. Magento怎么设置和使用Cookie和Session?
  6. 【MySQL】通过select语句把一列数据拼接成一条字符串
  7. 解决PowerDesigner 反向工程没有注释(备注)
  8. SQL中对日期进行模糊查询的方法
  9. 双线服务器和CDN的区别
  10. 基于微博数据用 Python 打造一颗“心”
  11. 关于解决配置Tomact过程中出现的相关问题
  12. 查询表达式和LINQ to Objects
  13. nyoj 擅长排列的小名II
  14. rnn应用
  15. cacti 流量图合并
  16. Android语音识别
  17. mysql一张表多个字段关联另一张表查询
  18. 【计算机网络】TCP的流量控制和拥塞控制
  19. cookie和session机制
  20. Gflags 简明使用

热门文章

  1. Java二维码的制作
  2. eclipse中使用pull报错(git提交冲突)
  3. C# XML入门
  4. 【转】JQuery上传插件Uploadify使用详解及错误处理
  5. ASP.NET MVC 学习笔记-5.Controller与View的数据传递
  6. C-Linux_毫秒级随机值获取
  7. Java线程池 Executor框架概述
  8. Docker部署Nginx并修改配置文件
  9. GA中的术语及经常分析的指标
  10. layui 弹出框改变按钮颜色样式 自定义皮肤