问题描述:

请实现接口:

unsigned int  AddCandidate (char* pCandidateName);
功能:设置候选人姓名
输入: char* pCandidateName 候选人姓名
输出:无
返回:输入值非法返回0,已经添加过返回0 ,添加成功返回1

Void Vote(char* pCandidateName);
功能:投票
输入: char* pCandidateName 候选人姓名
输出:无
返回:无

unsigned int  GetVoteResult (char* pCandidateName);
功能:获取候选人的票数。如果传入为空指针,返回无效的票数,同时说明本次投票活动结束,释放资源
输入: char* pCandidateName 候选人姓名。当输入一个空指针时,返回无效的票数
输出:无
返回:该候选人获取的票数

void Clear()
// 功能:清除投票结果,释放所有资源
// 输入:
// 输出:无
// 返回
知识点:  查找  
题目来源:  内部整理  
练习阶段:  初级  
运行时间限制: 10Sec 
内存限制: 128MByte 
输入:  
输入候选人的人数,第二行输入候选人的名字,第三行输入投票人的人数,第四行输入投票。

输出:  
每行输出候选人的名字和得票数量。

样例输入: 4
A B C D
8
A B C D E F G H
                    
样例输出: A : 1
B : 1
C : 1
D : 1

Invalid : 4

代码:

#include <iostream>
#include <string>
using namespace std;
struct vote
{string name;int count;
};int main()
{int num=0;int votenum=0;string namein;string votename[100];struct vote vt[100];int invalid=0;int sum=0;cin>>num;int i=0,j=0;for(i=0;i<num;i++){cin>>namein;vt[i].name=namein;vt[i].count=0;}cin>>votenum;for(i=0;i<votenum;i++){cin>>votename[i];}for(i=0;i<votenum;i++){for(j=0;j<num;j++){if(votename[i]==vt[j].name){vt[j].count++;//sum+=vt[j].count;}}}for(j=0;j<num;j++){sum+=vt[j].count;}invalid=votenum-sum;for(i=0;i<num;i++)cout<<vt[i].name<<" : "<<vt[i].count<<endl;cout<<"Invalid"<<" : "<<invalid<<endl;return 0;
}

【华为oj】计票统计相关推荐

  1. 循环相乘取整法C语言,华为OJ机试题目:两个大整数相乘(纯C语言实现两个大整数相乘,两种方法实现大数相乘)...

    题目描述: 输出两个不超过100位的大整数的乘积. 输入: 输入两个大整数,如1234567 123 输出: 输出乘积,如:151851741 样例输入: 1234567 123 样例输出: 1518 ...

  2. 【华为OJ】【042-矩阵乘法】

    [华为OJ][算法总篇章] [华为OJ][042-矩阵乘法] [工程下载] 题目描述 如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C. 这个矩阵的每个元 ...

  3. 【华为OJ】【067-求最小公倍数】

    [华为OJ][算法总篇章] [华为OJ][067-求最小公倍数] [工程下载] 题目描述 正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数. ...

  4. C语言无符号双字节乘法,华为OJ机试标题:两个大整数相乘(纯C语言实现两个大整数相乘,两种方法实现大数相乘)...

    华为OJ机试题目:两个大整数相乘(纯C语言实现两个大整数相乘,两种方法实现大数相乘) 题目描述: 输出两个不超过100位的大整数的乘积. 输入: 输入两个大整数,如1234567 123 输出: 输出 ...

  5. 华为OJ(MP3光标移动)

    描述: MP3 Player因为屏幕较小,显示歌曲列表的时候每屏只能显示几首歌曲,用户要通过上下键才能浏览所有的歌曲.为了简化处理,假设每屏只能显示4首歌曲,光标初始的位置为第1首歌. 现在要实现通过 ...

  6. 【华为OJ】【099-MP3光标位置】

    [华为OJ][算法总篇章] [华为OJ][099-MP3光标位置] [工程下载] 题目描述 MP3 Player因为屏幕较小,显示歌曲列表的时候每屏只能显示几首歌曲,用户要通过上下键才能浏览所有的歌曲 ...

  7. 【华为OJ】【097-24点游戏算法】

    [华为OJ][算法总篇章] [华为OJ][097-24点游戏算法] [工程下载] 题目描述 给出4个1-10的数字,通过加减乘除,得到数字为24就算胜利 输入: 4个1-10的数字.[数字允许重复,测 ...

  8. 【华为OJ】【107-24点运算】

    [华为OJ][算法总篇章] [华为OJ][107-24点运算] [工程下载] 题目描述 计算24点是一种扑克牌益智游戏,随机抽出4张扑克牌,通过加(+),减(-),乘(*), 除(/)四种运算法则计算 ...

  9. 【华为OJ】【063-字符串分割】

    [华为OJ][算法总篇章] [华为OJ][063-字符串分割] [工程下载] 题目描述 连续输入字符串(输出次数为N,字符串长度小于100),请按长度为8拆分每个字符串后输出到新的字符串数组, 长度不 ...

  10. java oj题及答案_华为OJ答案(java版)题目2

    华为OJ&答案(java版) 1. 功能:等差数列 2,5,8,11,14.... 输入:正整数N >0 输出:求等差数列前N项和 返回:转换成功返回 0 ,非法输入与异常返回-1 pu ...

最新文章

  1. Spark和Hadoop,孰优孰劣?
  2. OpenGL中glTranslate*(),glRotation*(),glScale*()函数的用法(*是参数数据类型)
  3. 反汇编最基础知识(段寄存器和寄存器的说明)
  4. kernel shell bash简介
  5. 使用randomaccessfile类将一个文本文件中的内容逆序输出_Java 中比较常用的知识点:I/O 总结...
  6. mysql执行语句后回退_MySQL命令学习笔记(八)
  7. 这个统一了238个机器学习模型R包的参考手册推荐给你
  8. python中seaborn_python的seaborn模块
  9. pytorch数据集
  10. Windows下sqlmap安装方法
  11. YUV422转RGB并显示于Qlabel
  12. linux环境下如何重装系统,详细教你linux电脑系统怎么安装
  13. HDU 5336 BFS
  14. 知道自己无知才会进步
  15. docker加载镜像报错 dockerError processing tar file(exit status 1): no space left on device
  16. html的鼠标手怎么去掉,flex htmlText属性和Label设置鼠标手形状
  17. 深度解决 SecurityException: User has not given permission to device UsbDevice
  18. Oracle to_char()函数的用法
  19. 奥利给 之 【优学院自定义速度】
  20. 单位跳跃函数,斜坡函数

热门文章

  1. 数据挖掘竞赛——糖尿病遗传风险检测挑战赛进阶
  2. MATLAB中对小数进行取整处理
  3. ROS里程计的学习(odometry) (三)
  4. MyTest.axf section `.text‘ will not fit in region `Flash30‘
  5. 嵌入式开发—矩阵键盘原理及程序设计
  6. UBTC比特联储重要升级,千万别错过
  7. 跨界融合引尴尬,智能珠宝能向前走远?
  8. android service layoutinflater,[转]Android LayoutInflater详解
  9. JavaScript自定义事件--高级技巧
  10. Android Permission中英对照