【题目】:通过C/C++实现唱票统计系统,输入所有的选举情况,后台自动计票

输入:lisa lisa benz benz audi etc

输出:lisa :2 票;benz 2 票;audi 1 票;etc 1 票;

【分析】

使用线性表将投票的数据存储,然后通过算法将对表中的元素统计出现的次数;

【答案】代码中含有解析,不懂的欢迎提问哦

#include <iostream>
#include<malloc.h>
#include <conio.h>
using namespace std;typedef struct sqlist {string Candidate[100];//存放线性表地址int length=0;       //存放线性表长度
}SqList;//定义线性表
void Input(SqList* L) {cout << "请输入代表数:";int Num = 0;cin >> Num;L->length = Num;cout << "请开始唱票:\n";for (int i = 0; i < L->length; i++) {//使用for循环将选举的人名字输入进去cin >> L->Candidate[i];}
}
void Voting_result(SqList* L) {int n = 0;cout << "投票结果如下:\n";string temp;int count1=0;string name[20];//用来存储选举后存储名字int count[20];//用来存贮选举后的票数            其中的name数组和count数组通过赋值的方式达到了一一对应关系temp = L->Candidate[0];//将一开始的选举人的名字赋值给tempfor (int i = 0; i < L->length; i++) {int count1 = 0;//先前计票为0if (temp != L->Candidate[i])temp = L->Candidate[i];//首次判断时,temp == L->Candidate[i],这里判断的时选举人的名字for (int j = 0; j < L->length; j++) {if (L->Candidate[j] == temp)count1++;//在选票中选中temp的,则count+1if (j + 1 == L->length) {//判断是否为最后一张选票,是则将得到的选举人和票数存储起来,便于输出name[i] = temp;count[i] = count1;}}}for (int k = 0; name[k] != ""; k++) {if (name[k] == name[k + 1])continue;cout << "候选人" << name[k] << "得票统计:" << count[k] << endl;}cout << "测试结束!!!";
}
int main() {SqList L;Input(&L);Voting_result(&L);return 0;
}

数据结构练习题--计票系统 C++相关推荐

  1. 十二张图带你了解 Redis 的数据结构和对象系统

    来自公众号:程序员历小冰 Redis是一个开源的 key-value 存储系统,它使用六种底层数据结构构建了包含字符串对象.列表对象.哈希对象.集合对象和有序集合对象的对象系统.今天我们就通过12张图 ...

  2. 十二张图详解Redis的数据结构和对象系统

    回顾:大数据平台技术栈 (ps:可点击查看),今天就来说说其中的Redis! 本文来自:张狗蛋的技术之路 Redis是一个开源的 key-value 存储系统,它使用六种底层数据结构构建了包含字符串对 ...

  3. access ole 对象 最大长度_Redis 数据结构和对象系统,有这 12 张图就够了!

    作者 | 程序员历小冰 责编 | 林瑟 Redis 是一个开源的 key-value 存储系统,它使用六种底层数据结构构建了包含字符串对象.列表对象.哈希对象.集合对象和有序集合对象的对象系统. 今天 ...

  4. 数据结构练习题――Hero In Maze 简单版

    数据结构练习题――Hero In Maze 简单版 时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte 总提交:306            ...

  5. 数据结构实验公交车系统

    数据结构实验公交车系统(完整代码私信) 1.查询公交车信息 2.查询站点信息 3.查询两个站点之间的路线(最多一次换乘) 4.添加.删除.修改公交车,站点,路线 创建4个文本文档(即txt) rout ...

  6. TOJ 1225 数据结构练习题——Huffman Coding

    数据结构练习题--Huffman Coding 时间限制(普通/Java):1000MS/10000MS     运行内存限制:65536KByte 描述 以前,没有电话的时候,进行快速远距离通信的主 ...

  7. 数据结构练习题---先序遍历二叉树

    数据结构练习题---先序遍历二叉树 时间限制(普通/Java):3000MS/10000MS          运行内存限制:65536KByte 总提交:107            测试通过:64 ...

  8. [Python]常用数据结构 练习题

    常用数据结构 练习题 输人5个整数放到列表list1 中,输出下标及值,然后将列表listl 中大于平均值的元素组成一个新列表list2,输出平均值和列表list2.请利用列表推导式解决该问题. li ...

  9. 数据结构技能考试系统

    通过一个月的努力,终于把数据结构技能考试系统用C++的语言实现(其中有C语言的穿插),系统的最大优点是可以检测学生答题时是否插入了U盘,打开了word及记事本等辅助工具.此系统分为两部分,一部分是学生 ...

最新文章

  1. 业余时间用哪里,哪里就有发展的可能
  2. 一年后斩获腾讯T3,面试必问!
  3. python自动化任务_用Python实现真实世界任务的自动化
  4. 简单的XML和JSON数据的处理
  5. Java设计模式(学习整理)---单例模式
  6. exists子查询 mysql
  7. 第九章php与数据交互,利用ajax实现与php数据交互,并局部刷新页面
  8. VC++ (四)动态内存
  9. 微服务升级_SpringCloud Alibaba工作笔记0013---SpringCloud Alibaba简介
  10. 昨天食物中毒,至今浑身酸痛
  11. PLC仿真搭建问题与解答
  12. ACM/ICPC 2018亚洲区预选赛北京赛站网络赛 B Tomb Raider 【二进制枚举】
  13. Python:蒙特卡罗方法模拟解决三门问题
  14. 文献记录(part104)--Distance-Based Outlier Detection: Consolidation and Renewed Bearing
  15. 智商高的人都不爱说话,程序员也是如此吗?
  16. 三星官宣所有5G设备信息图 看完有何感想
  17. 实验四:激光传感器实验,摩尔斯密码
  18. ngrok穿透内网(内网有代理的情况)
  19. 解决:windows10网络图标被重名名为Network
  20. 物联网开发笔记(27)- 使用Micropython开发ESP32开发板之控制240x240的oled屏幕(ST7789芯片)

热门文章

  1. Linux零拷贝技术
  2. 【回答问题】ChatGPT上线了!如何使用控制算法或动力学模型控制PreScan搭建的仿真环境及相关车辆的运动状态?
  3. python年份天干地支代码_好用的Python第三方日历库:sxtwl(可算天干地支)
  4. Ehcache使用教程
  5. Linux命令之netstat
  6. ‘mysql‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  7. java设计一个bank类实现银行_java定义一个类实现银行账户的概念。
  8. CvMat、Mat、IplImage之间的转换详解及实例
  9. Unity3D 导入模型
  10. 高级面试题 非常 有用