选民投票 (15 分)
编程统计候选人的得票数。有若干位候选人(n<=10),候选人姓名从键盘输入(候选人姓名不区分大小写,姓名最长为9个字节),若干位选民,选民每次输入一个得票的候选人的名字(姓名最长为9个字节),若选民输错候选人姓名,则按废票处理。程序自动统计各候选人的得票结果,并按照得票数由高到低的顺序排序。最后输出各选票人得票结果和废票信息。
输入格式:
先输入候选人人数n和n名候选人姓名,再输入选民人数m和m位选民的选票。
输出格式:
先根据选票结果由高到低输出各候选人得票结果,再根据废票情况输出废票信息(换行后,输出提示信息“invalid vote:”,再输出废票信息)。
输入样例1:
3
zhang
li
wang
9
Wang
Zhang
zhuang
LI
Liao
ZHANG
WANG
Wang
wang
输出样例1:
wang:4
zhang:2
li:1invalid vote:
zhuang
Liao
输入样例2:
2
liu
yang
5
Liu
liu
YANG
yang
Liu
输出样例2:
liu:3
yang:2
源代码
注意:合法选手得票数为0也要输出!!!!!
#include <iostream>
using namespace std;
struct human
{string name;int num;
};
int main()
{int n;cin>>n;getchar();human p[256];human invalid[256];for(int i = 1;i <= n;i ++ )cin>>p[i].name;int m;cin>>m;getchar();int setflag=0; for(int i = 1;i <= m;i ++ ){string str;cin>>str;//处理投票选手名字string a=str; for(int o = 0;o < a.size();o ++ ){if(a[o]>='A'&&a[o]<='Z')//姓名大小写转换 {a[o]=a[o]+32;}}int flag=0;for(int j = 1;j <= n;j ++ ){if(a==p[j].name){flag=1;p[j].num++;break;}}if(flag==0){setflag=1;invalid[i].name=str;invalid[i].num++;}}//按照得票数降序排列 for(int i = 1;i < n;i ++ ){for(int j = i + 1;j <= n;j ++ ){if(p[i].num<p[j].num){string t;t=p[i].name;p[i].name=p[j].name;p[j].name=t;swap(p[i].num,p[j].num);}}}//输出合法选手以及得票数 for(int i = 1;i <= n;i ++ ){cout<<p[i].name<<":"<<p[i].num<<endl;}if(setflag==1){cout<<endl;cout<<"invalid vote:"<<endl;for(int i = 1;i <= m;i ++ ){if(invalid[i].num!=0){cout<<invalid[i].name<<endl;}}}
}
选民投票 (15 分)相关推荐
- 7-3 选民投票 (8 分)编程统计候选人的得票数。有若干位候选人(n<=10),候选人姓名从键盘输入(候选人姓名不区分大小写,姓名最长为9个字节),若干位选民,选民每次输入一个得票的候选人的名字(
7-3 选民投票 (8 分) 编程统计候选人的得票数.有若干位候选人(n<=10),候选人姓名从键盘输入(候选人姓名不区分大小写,姓名最长为9个字节),若干位选民,选民每次输入一个得票的候选人的 ...
- 调查电视节目受欢迎程度 (15分)
调查电视节目受欢迎程度 (15分) 某电视台要调查观众对该台8个栏目(设相应栏目编号为1~8)的受欢迎情况,共调查了n位观众(1≤n≤1000),现要求编写程序,输入每一位观众的投票情况(每位观众只能 ...
- 7-3 调查电视节目受欢迎程度 (15分)
7-3 调查电视节目受欢迎程度 (15分) 某电视台要调查观众对该台8个栏目(设相应栏目编号为1~8)的受欢迎情况,共调查了n位观众(1≤n≤1000),现要求编写程序,输入每一位观众的投票情况(每位 ...
- 7-4 调查电视节目受欢迎程度 (15分)
7-4 调查电视节目受欢迎程度 (15分) 某电视台要调查观众对该台8个栏目(设相应栏目编号为1~8)的受欢迎情况,共调查了n位观众(1≤n≤1000),现要求编写程序,输入每一位观众的投票情况(每位 ...
- 编程统计候选人的得票数。设有3个候选人,Li,Zhang,Fun。 要求输入投票总数n,然后每次输入一个得票的候选人的名字(区分大小写),若选民输错候选人姓名,则按废票处理。 选民投票结束后程序自动显
编程统计候选人的得票数.设有3个候选人,Li,Zhang,Fun. 要求输入投票总数n,然后每次输入一个得票的候选人的名字(区分大小写),若选民输错候选人姓名,则按废票处理. 选民投票结束后程序自动显 ...
- 浙大版《C语言程序设计(第3版)》题目集 练习2-17 生成3的乘方表 (15 分)
练习2-17 生成3的乘方表 (15 分) 输入一个非负整数n,生成一张3的乘方表,输出30~3n的值.可调用幂函数计算3的乘方. 输入格式: 输入在一行中给出一个非负整数n. 输出格式: ...
- 团体——L1-005 考试座位号 (15 分)
L1-005 考试座位号 (15 分) 方法一: #include<stdio.h> struct stu{char a[20];int s,k; }xue; int main() {st ...
- 习题2.5 两个有序链表序列的合并 (15 分)
习题2.5 两个有序链表序列的合并 (15 分) 本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列. 函数接口定义: List Merge( List L1, List L ...
- 习题2.4 递增的整数序列链表的插入 (15 分)
习题2.4 递增的整数序列链表的插入 (15 分) 本题要求实现一个函数,在递增的整数序列链表(带头结点)中插入一个新整数,并保持该序列的有序性. 函数接口定义: List Insert( List ...
最新文章
- 「biáng biáng 面」马上可以打出来了!Unicode发布13.0版本,收录4939个生僻字
- 【转】python中的对象拷贝
- Java 7的类型推断
- linux 使用碎碎记
- 动态设置样式 calc计算
- 深度学习自学(二十五):目标跟踪
- LNMP详解(十六)——Nginx日志切割
- ceph luminous 版本 osd掉线处置
- AD7124-8使用说明与程序
- android url后缀名,Android获取URL中文件的扩展名的方法
- 街头篮球一直提示服务器维护怎么解决,街头篮球为什么进不去 街头篮球进不去怎么办...
- 2021年焊工(初级)最新解析及焊工(初级)找解析
- 【Java+MySQL】随机添加测试数据栗子
- 共享打印机客户端报错因为文件共享不安全需要SMB1协议
- java生成二维码技术实现
- 自创计算机语言,【图片】【自创语言教程】———创造属于自己的语言!(上)【那些漫长岁月吧】_百度贴吧...
- java inputstream长度_java.net.*下的相关问题 取得inputStream的长度
- 国内开源镜像站点汇总[超级多]
- 【坤坤、开团、鸡你太美表情包】
- 模仿的豌豆荚滑动Menu 的 实现
热门文章
- 购物网站研究分析报告
- Flask(十六)——WTF
- Java通过递归解决0-1背包问题的代码
- 计算机考研转专业难度大吗,大学里想转专业怎么做?985高校转专业条件及难度排行榜公布!...
- 服务器响应时间缓慢的解决方法
- 巧记glsl的mix
- 关于soapUI模拟返回不同response
- vue 插件 你可能需要的轮子 集合
- 计算机网络中属于通信子网,通信子网,计算机网络,互联网三者有什么关系其区..._通信工程师_帮考网...
- 将项目部署到Github