【算法笔记2.8】完成一个对候选人得票的统计程序。假设有3个候选人,名字分别为Li,Zhang和Fun。使用结构体存储每一个候选人的名字和得票数。记录每一张选票的得票人名,输出每个候选人最终的得票数。
考点:结构体,字符串
题目:完成一个对候选人得票的统计程序。假设有3个候选人,名字分别为Li,Zhang和Fun。使用结构体存储每一个候选人的名字和得票数。记录每一张选票的得票人名,输出每个候选人最终的得票数。结构体可以定义成如下的格式:
struct person {
char name[20];
int count;
}leader[3] = {“Li”, 0, “Zhang”, 0, “Fun”, 0};
样例输入:
10
Li
Li
Fun
Zhang
Zhang
Fun
Li
Fun
Zhang
Li
样例输出:
Li:4
Zhang:3
Fun:3
注意点:gets用来输入一行字符,gets识别换行符\n作为输入结束,因此scanf完一个整数后,如果要使用gets,需要先用getchar接收整数后的换行符
#include<stdio.h>
struct person {char name[20];int count;
}leader[3] = {"Li",0,"Zhang",0,"Fun",0};
int main()
{int n,i;scanf("%d",&n);getchar();//吸收换行符char a[100][10];for(i=0;i<n;++i){gets(a[i]);}//puts(a[0]);如果没有getchar()来吸收换行符,则a[0]为换行符for(i=0;i<n;++i){if(a[i][0] == 'L')++(leader[0].count);else if(a[i][0] == 'Z')++(leader[1].count);else++(leader[2].count);}printf("Li:%d\nZhang:%d\nFun:%d\n",leader[0].count,leader[1].count,leader[2].count);return 0;
}
然后没过多久我就发现根本不用这么麻烦,直接在scanf里加个换行符即可,修改后的代码:
#include<stdio.h>
struct person {char name[20];int count;
}leader[3] = {"Li",0,"Zhang",0,"Fun",0};
int main()
{int n,i;scanf("%d\n",&n);//加一个换行符//getchar();//吸收换行符char a[100][10];for(i=0;i<n;++i){gets(a[i]);}//puts(a[0]);如果没有getchar()来吸收换行符,则a[0]为换行符for(i=0;i<n;++i){if(a[i][0] == 'L')++(leader[0].count);else if(a[i][0] == 'Z')++(leader[1].count);else++(leader[2].count);}printf("Li:%d\nZhang:%d\nFun:%d\n",leader[0].count,leader[1].count,leader[2].count);return 0;
}
【算法笔记2.8】完成一个对候选人得票的统计程序。假设有3个候选人,名字分别为Li,Zhang和Fun。使用结构体存储每一个候选人的名字和得票数。记录每一张选票的得票人名,输出每个候选人最终的得票数。相关推荐
- 对候选人得票的统计程序。设有3个候选人,每次输入一个得票的候选人的名字,要求最后输出各人得票结果。
对候选人得票的统计程序.设有3个候选人,每次输入一个得票的候选人的名字,要求最后输出各人得票结果. #include"stdio.h" #define N 3 #include&q ...
- 问题 A: C语言11.1——完成一个对候选人得票的统计程序。
完成一个对候选人得票的统计程序.假设有3个候选人,名字分别为Li,Zhang和Fun.使用结构体存储每一个候选人的名字和得票数.记录每一张选票的得票人名,输出每个候选人最终的得票数.结构体可以定义成如 ...
- C语言编程练习 2.编写人得票统计程序。设有3个候选人,每次输入一个得票候选人的名字,不考虑弃权情况,要求最后输出各个候选人的得票结果(参加投票人数由程序运行时输入)。
题目完整描述 编写人得票统计程序.设有3个候选人,每次输入一个得票候选人的名字,不考虑弃权情况,要求最后输出各个候选人的得票结果(参加投票人数由程序运行时输入). 这是一道关于 一维数组做函数参数 的 ...
- 对候选人的票的统计程序。
/* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * 作 者: 刘同宾 * 完成日期:2012 年 12 月 06 日 * 版 本 号 ...
- 对候选人得票的统计程序
设有3个候选人,每次输入一个得票的候选人名字,输出候选人名字及其得票数 #include <string.h> #include <stdio.h> int main() {i ...
- C/C++ 学习笔记:结构体中最后一个成员为[0]或[1]长度数组(柔性数组成员)的用法
结构体中最后一个成员为[0]长度数组的用法:这是个广泛使用的常见技巧,常用来构成缓冲区.比起指针,用空数组有这样的优势:(1).不需要初始化,数组名直接就是所在的偏移:(2).不占任何空间,指针需要占 ...
- 【单片机自学笔记】(8):c51中的复合赋值运算符,开发版上的数码管、74HC245、74HC138的使用方法,结构体数组
/ C51中的复合赋值运算符 / 变量 复合运算符 表达式 先把变量与后边的表达式进行某种运算,然后将运算的结果赋给前面的变量. += 加法赋值 ?+ 减法赋值 *= 乘法赋值 ...
- [code] PTA胡凡算法笔记 DAY016
文章目录 题目A1035 Password 题目A1077 Kuchiguse 题目A1082 Read Number in Chinese 小结 题目A1035 Password 题意 将输入密码中 ...
- c语言如何宏定义枚举型结构体,C语言学习笔记--枚举结构体
枚举 枚举是一种用户定义的数据类型,它用关键字enum以如下语法格式来声明: enum 枚举类型名字 {名字0,名字1,...,名字n}: 枚举类型名字通常并不真的使用,要用的是大括号里面的名字,因为 ...
最新文章
- 7 环境变量 立即生效_MySQL5.7升级到8.0过程详解
- 可构建AI的「AI」诞生:几分之一秒内,就能预测新网络的参数
- 【项目实践】基于Mask R-CNN的道路物体检测与分割(从数据集制作到视频测试)...
- CSMA/CD协议——学习笔记
- 非对称加密算法RSA--转
- php json 转 xml格式,PHP中如何将JSON文件转XML格式
- 学生信息链表,建立,插入,删除,遍历,查找,修改,最大(小)值,平均...
- 修改输入框placeholder的默认样式
- 如何将MATLAB程序发布为独立的不依赖MATLAB环境可执行的程序包(基于Matlab R2015b版 )
- C语言 | 指向指针的指针排序
- 计算机科学导论整理知识点,计算机科学导论教程重点
- 【理财】指数基金投资指南
- 安卓下使用OpenCL进行PowerVR GPU编程
- 使用IAR和BSL下载程序至MSP430F2122
- java五子棋AI算法人机对战(春物彩羽版可下载试玩PC端)
- iuv_5g组网问题表
- Tomcat脚本一键装机
- 300+值得收藏的设计师资源站
- 小米小爱音箱Pro8安装app_小米小爱音箱Play | 声音实力派,智能遥控家
- uboot中利用TFTP和NFS加载镜像到ram运行
热门文章
- 中科大2021年计算机复试分数,2021中科大考研复试分数线 中科大考研复试分数线2021...
- 大话手游时间服务器哪个最新,大话西游手游教你玩转时间服!时间服大揭秘有哪些变化...
- 爱不释手!2014年最佳的20个优秀网页设计
- Idea Maven项目打包工其他项目进行外部引用
- cdkjava | 分子sdf文件生成
- 北京高新技术企业认定
- 【爬虫】爬取天天基金历史净值数据基金收益可视化~
- 超员工平均薪酬 800 倍,谷歌 CEO 15 亿年薪引员工强烈不满,发表情包讽刺!
- hifi android 手机吗,市面上HiFi手机有哪些?2017年6款音质好的HiFi手机推荐
- 业界信息系统集成的三个主流模式:单点登录、数据融合、过程协同