考点:结构体,字符串
题目:完成一个对候选人得票的统计程序。假设有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。使用结构体存储每一个候选人的名字和得票数。记录每一张选票的得票人名,输出每个候选人最终的得票数。相关推荐

  1. 对候选人得票的统计程序。设有3个候选人,每次输入一个得票的候选人的名字,要求最后输出各人得票结果。

    对候选人得票的统计程序.设有3个候选人,每次输入一个得票的候选人的名字,要求最后输出各人得票结果. #include"stdio.h" #define N 3 #include&q ...

  2. 问题 A: C语言11.1——完成一个对候选人得票的统计程序。

    完成一个对候选人得票的统计程序.假设有3个候选人,名字分别为Li,Zhang和Fun.使用结构体存储每一个候选人的名字和得票数.记录每一张选票的得票人名,输出每个候选人最终的得票数.结构体可以定义成如 ...

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

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

  4. 对候选人的票的统计程序。

    /* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * 作 者: 刘同宾 * 完成日期:2012 年 12 月 06 日 * 版 本 号 ...

  5. 对候选人得票的统计程序

    设有3个候选人,每次输入一个得票的候选人名字,输出候选人名字及其得票数 #include <string.h> #include <stdio.h> int main() {i ...

  6. C/C++ 学习笔记:结构体中最后一个成员为[0]或[1]长度数组(柔性数组成员)的用法

    结构体中最后一个成员为[0]长度数组的用法:这是个广泛使用的常见技巧,常用来构成缓冲区.比起指针,用空数组有这样的优势:(1).不需要初始化,数组名直接就是所在的偏移:(2).不占任何空间,指针需要占 ...

  7. 【单片机自学笔记】(8):c51中的复合赋值运算符,开发版上的数码管、74HC245、74HC138的使用方法,结构体数组

    / C51中的复合赋值运算符 / 变量 复合运算符 表达式 先把变量与后边的表达式进行某种运算,然后将运算的结果赋给前面的变量. +=  加法赋值     ?+  减法赋值 *=  乘法赋值      ...

  8. [code] PTA胡凡算法笔记 DAY016

    文章目录 题目A1035 Password 题目A1077 Kuchiguse 题目A1082 Read Number in Chinese 小结 题目A1035 Password 题意 将输入密码中 ...

  9. c语言如何宏定义枚举型结构体,C语言学习笔记--枚举结构体

    枚举 枚举是一种用户定义的数据类型,它用关键字enum以如下语法格式来声明: enum 枚举类型名字 {名字0,名字1,...,名字n}: 枚举类型名字通常并不真的使用,要用的是大括号里面的名字,因为 ...

最新文章

  1. 7 环境变量 立即生效_MySQL5.7升级到8.0过程详解
  2. 可构建AI的「AI」诞生:几分之一秒内,就能预测新网络的参数
  3. 【项目实践】基于Mask R-CNN的道路物体检测与分割(从数据集制作到视频测试)...
  4. CSMA/CD协议——学习笔记
  5. 非对称加密算法RSA--转
  6. php json 转 xml格式,PHP中如何将JSON文件转XML格式
  7. 学生信息链表,建立,插入,删除,遍历,查找,修改,最大(小)值,平均...
  8. 修改输入框placeholder的默认样式
  9. 如何将MATLAB程序发布为独立的不依赖MATLAB环境可执行的程序包(基于Matlab R2015b版 )
  10. C语言 | 指向指针的指针排序
  11. 计算机科学导论整理知识点,计算机科学导论教程重点
  12. 【理财】指数基金投资指南
  13. 安卓下使用OpenCL进行PowerVR GPU编程
  14. 使用IAR和BSL下载程序至MSP430F2122
  15. java五子棋AI算法人机对战(春物彩羽版可下载试玩PC端)
  16. iuv_5g组网问题表
  17. Tomcat脚本一键装机
  18. 300+值得收藏的设计师资源站
  19. 小米小爱音箱Pro8安装app_小米小爱音箱Play | 声音实力派,智能遥控家
  20. uboot中利用TFTP和NFS加载镜像到ram运行

热门文章

  1. 中科大2021年计算机复试分数,2021中科大考研复试分数线 中科大考研复试分数线2021...
  2. 大话手游时间服务器哪个最新,大话西游手游教你玩转时间服!时间服大揭秘有哪些变化...
  3. 爱不释手!2014年最佳的20个优秀网页设计
  4. Idea Maven项目打包工其他项目进行外部引用
  5. cdkjava | 分子sdf文件生成
  6. 北京高新技术企业认定
  7. 【爬虫】爬取天天基金历史净值数据基金收益可视化~
  8. 超员工平均薪酬 800 倍,谷歌 CEO 15 亿年薪引员工强烈不满,发表情包讽刺!
  9. hifi android 手机吗,市面上HiFi手机有哪些?2017年6款音质好的HiFi手机推荐
  10. 业界信息系统集成的三个主流模式:单点登录、数据融合、过程协同