此程序参考:http://blog.csdn.net/zhoubin1992/article/details/46483169
在其基础上,再次利用vector,使得统计票数的数组不再受255大小的限制。另外添加continue的关键字。
题目:

模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用“A”、”B”、”C”、”D”表示,选举时开始计票, 若输入的不是“A”、”B”、”C”、”D”则视为无效票。选举结束后获取各个候选人的得票数以及无效票的个数,输出结果以添加候选人的顺序进行顺序输出,最后一行为无效的数量。同时getVoteResult命令为结束命令。

运行时间限制:

无限制

内存限制:

无限制

输入:

输入为多行形式输入,每一行为一条命令。输入的命令只会是有效命令不会有非法命令,但可能存在非法的投票,,上面已经描述了。

添加候选人的命令如下:addCandidate为命令 xx1为候选人

addCandidate xx1

投票的命令如下:vote为命令 xx1为候选人的字符串

vote xx1

统计投票的命令如下:getVoteResult为命令

getVoteResult

输出:

输出结果以添加候选人的顺序进行顺序输出,最后一行为无效的数量。

样例输入:

addCandidate xx1

addCandidate xx2

addCandidate xx3

addCandidate xx4

addCandidate xx5

addCandidate xx6

vote xx1

vote xx3

vote xx4

vote xx1

vote xx2

vote xx7

vote xx4

vote xx5

vote xx3

vote xx2

vote xx1

vote xx7

getVoteResult

样例输出:

xx1 3

xx2 2

xx3 2

xx4 2

xx5 1

xx6 0

2

#include <iostream>
#include <string>
#include <vector>
//#include <algorithm>
using namespace std;
int main()
{string s, temp, c;vector<string> candidate;   //候选人数组 vector<int> num;//int voteNum[255] = { 0 }; //得票数数组 int i = 0, invalid = 0; //invalid无效票 while (cin >> s){if (s.compare("addCandidate") == 0){cin >> c;candidate.push_back(c);num.push_back(0);continue;}else if (s.compare("vote") == 0){int j;cin >> temp;for (j = 0; j<candidate.size(); j++){if (temp.compare(candidate[j]) == 0){num[j]++;//voteNum[j]++;break;}}if (j == candidate.size()){invalid++;}continue;}else if (s.compare("getVoteResult") == 0){break;}} //输出 for (int k = 0; k<candidate.size(); k++){//  cout << candidate[k] << " " << voteNum[k] << endl;cout << candidate[k] << " " << num[k] << endl;}cout << invalid << endl;system("pause");return 0;
}

c++ 模拟 记票统计相关推荐

  1. 2015年华为实习生机试样题(记票统计,计算麻将的番数,Word Maze(单词迷宫))

    这是华为今年实习生招聘给的样题,还是特别喜欢考字符串处理问题. 记票统计 描述: 模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用"A"."B" ...

  2. 华为软件类校招 2014年9月3日 熟悉机考环境 1.记票统计 2.求最大递增数 3.Word Maze(单词迷宫)

    (样题,已对外公布)记票统计 描述: 模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用"A"."B"."C"." ...

  3. 华为机试HJ94:记票统计

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 请实现一个计票统计系统.你会收到很多投票,其中有合法的也有不合法的,请统计每个候选人 ...

  4. 华为OD机试真题 Java 实现【记票统计】【牛客练习题】

    一.题目描述 请实现一个计票统计系统.你会收到很多投票,其中有合法的也有不合法的,请统计每个候选人得票的数量以及不合法的票数. (注:不合法的投票指的是投票的名字不存在n个候选人的名字中!!) 数据范 ...

  5. HJ94 记票统计(因为数组内存未足够分配而溢出)

    描述 请实现一个计票统计系统.你会收到很多投票,其中有合法的也有不合法的,请统计每个候选人得票的数量以及不合法的票数. 本题有多组样例输入. 输入描述: 输入候选人的人数n,第二行输入n个候选人的名字 ...

  6. python模拟app抢票_python并发编程多进程 模拟抢票实现过程

    抢票是并发执行 多个进程可以访问同一个文件 多个进程共享同一文件,我们可以把文件当数据库,用多个进程模拟多个人执行抢票任务 db.txt {"count": 1} 并发运行,效率高 ...

  7. Java线程同步-模拟买票

    文章首发于 2020-11-29 知乎文章:Java线程同步-模拟买票 作者:落雨湿红尘(也是我o) 01 导语 本文使用JAVA代码模拟买票场景下的业务交互,通过示例讲解线程的初始化.线程同步等ja ...

  8. C语言编程练习 2.编写人得票统计程序。设有3个候选人,每次输入一个得票候选人的名字,不考虑弃权情况,要求最后输出各个候选人的得票结果(参加投票人数由程序运行时输入)。

    题目完整描述 编写人得票统计程序.设有3个候选人,每次输入一个得票候选人的名字,不考虑弃权情况,要求最后输出各个候选人的得票结果(参加投票人数由程序运行时输入). 这是一道关于 一维数组做函数参数 的 ...

  9. 多线程抢票_java多线程下模拟抢票

    我们设置三个对象分别同时抢20张票,利用多线程实现. public class Web123506 implements Runnable{ private int ticteksNums=20;// ...

最新文章

  1. 宏基因组QIIME2专题讨论群
  2. iOS数据持久化--归档
  3. 随机查找数组中第i个元素(按顺序排列的)
  4. node.js 函数外定义的变量 函数内赋值后为什么不能带出_(44)python少儿编程之函数(五)--- 作用域...
  5. 进军中国软件,踏上寻找自我价值之路的菜鸟
  6. Python 函数的执行流程-函数递归-匿名函数-生成器
  7. 一个待办事列表todolist
  8. oracle12 快照保存时间,【AWR】调整AWR数据采样时间间隔及历史快照保留时间
  9. SpringBoot2.1.5(13)--- SpringBoot 特性下
  10. sap 分摊分配不产生会计凭证的原因_会计凭证的实际分类及凭证管理应用
  11. 二元最近的共同祖先问题(O(n) time 而且,只有一次遍历,O(1) Space (它不考虑函数调用栈空间))...
  12. python写刷课脚本_python opencv 知到 刷课 脚本
  13. Premiere视频导出格式
  14. 『信息安全技术』 标准系列合集(467个)
  15. Windows XP下如何清理日志文件
  16. 【Python代码实践】使用Python批量获取雨课堂图片
  17. Springboot整合Netty,实现Socket通信
  18. java里speak的用法,speak的用法总结大全
  19. 基金申请-2:期刊如何批量索引SCIE、EI、ISTP (CPCI)?
  20. (转)在路上—Tinyfool的程序员生涯(职业生涯篇一)

热门文章

  1. canvas 绘制雷达效果:扇形区域颜色渐变渲染
  2. (内容提供者)备份短信和添加短信
  3. java-net-php-python-55jspm启航游泳馆会员管理系统计算机毕业设计程序
  4. Jurgen Appelo:职位名称三戒
  5. 苹果天气不显示_迅维实地手机学习故障板(一)苹果手机(iPhone)不显示维修...
  6. 直播时怎么将手机画面投屏到电脑上,实现大屏互动,更方便交流?
  7. android怎么实现记住密码功能,安卓 实现记住用户名和密码功能
  8. 【Arma3脚本教程】一、基本介绍
  9. 2021年起重机械指挥作业考试题库及起重机械指挥作业模拟考试
  10. PAT 7 三羊献瑞(dfs)