【问题描述】编程统计候选人的得票数。设计有3个候选人zhang,li,wang,且不区分大小写,10个选民,选民每次输入一个得票的候选人的名字,若选民输错候选人选民,则按废票处理。选民投票结束后程序自动显示各候选人的得票结果和废票信息。要求用结构体数组candidate表示3个候选人的姓名和得票结果。

【样例输入】

zhang

li

wang

Wang

Li

Zhang

zhang

ZHANG

deng

Deng

【样例输出】

zhang 4

li 2

wang 2

Error 2

【提示】

struct Candidate{

char name[20];

int num;

}candidate[3]

//候选人投票9.1 #include<iostream>
#include<cstring>
#include<ctype.h>
using namespace std; struct Candidate{char name[20];int num;};
int main()
{struct Candidate candidate[3]={{"zhang",0},{"li",0},{"deng",0}};///结构体数组赋值 重新定义数组 int error=0;char nam[20][10];for(int i=0;i<10;i++)cin>>nam[i];for(int i=0;i<10;i++){for(int j=0;j<strlen(nam[i]);j++)nam[i][j]=tolower(nam[i][j]);    //good!!!把所有字母转化为小写不需要挨个判断 }for(int i=0;i<10;i++){if(strcmp(nam[i],"zhang")==0)c语言中字符串的比较 candidate[0].num++;else if(strcmp(nam[i],"li")==0)candidate[1].num++;else if(strcmp(nam[i],"deng")==0)candidate[2].num++;elseerror++;}for(int i=0;i<3;i++){cout<<candidate[i].name<<" "<<candidate[i].num<<endl;}cout<<"error "<<error;return 0;}

;::相比之下下面的代码要麻烦的多

#include<iostream>
#include<stdio.h>
#include<cstring>
using namespace std;struct Candidate{char name[20];int num;
};
struct Candidate candidate[3]={{"wang",0},{"li",0},{"zhang",0}};int main()
{int error=0;char isname[10];for(int i=0;i<10;i++){scanf("%s",isname);switch(isname[0]){case 'w':case 'W':if((isname[1]=='a'||isname[1]=='A')&&((isname[2]=='n'||isname[2]=='N')&&((isname[3]=='g'||isname[3]=='G')&&isname[4]==0))&&isname[4]==0){candidate[0].num++;break;}else{error++;break;}case 'L':case 'l':if((isname[1]=='i'||isname[1]=='I')&&isname[2]==0){candidate[1].num++;break;}else {error++;break;}case 'z':case 'Z':if(((isname[1]=='h')||isname[1]=='H')&&(isname[2]=='a'||isname[2]=='A')&&(isname[3]=='N'||isname[3]=='n')&&(isname[4]=='g'||isname[4]=='G')&&isname[5]==0){candidate[2].num++;break;}else{error++;break;}default: error++;break;}}for(int i=2;i>=0;i--){printf("%s %d\n",candidate[i].name,candidate[i].num);}printf("Error %d",error);return 0;
}

统计候选人得票(结构体)相关推荐

  1. 第九章 结构体与共用体

    C程序设计实验报告 姓名:欧阳思健 实验地点: 514实验室 实验时间:2019年6月26日 实验项目: 9.3.1 结构体变量的应用 9.3.2 结构体数组的应用 9.3.3 共用体的应用 9.3. ...

  2. c语言 输入职工工资资料,通过结构体的数组来进行操作 报告,c语言课程设计报告-职工工资管理系统...

    <c语言课程设计报告-职工工资管理系统>由会员分享,可在线阅读,更多相关<c语言课程设计报告-职工工资管理系统(33页珍藏版)>请在人人文库网上搜索. 1.c 语言课程设计报告 ...

  3. 【算法笔记2.8】完成一个对候选人得票的统计程序。假设有3个候选人,名字分别为Li,Zhang和Fun。使用结构体存储每一个候选人的名字和得票数。记录每一张选票的得票人名,输出每个候选人最终的得票数。

    考点:结构体,字符串 题目:完成一个对候选人得票的统计程序.假设有3个候选人,名字分别为Li,Zhang和Fun.使用结构体存储每一个候选人的名字和得票数.记录每一张选票的得票人名,输出每个候选人最终 ...

  4. C语言——结构体运用 编程统计候选人的得票数。设有3个候选人zhang、li、wang(候选人姓名不区分大小写),10个选民,选民每次输入一个得票的候选人的名字,若选民输错候选人姓名,则按废票处理。

    编程统计候选人的得票数.设有3个候选人zhang.li.wang(候选人姓名不区分大小写),10个选民,选民每次输入一个得票的候选人的名字,若选民输错候选人姓名,则按废票处理.选民投票结束后程序自动显 ...

  5. 编程统计候选人的得票数。设有3个候选人zhang、li、wang(候选人姓名不区分大小写),10个选民,选民每次输入一个得票的候选人的名字,若选民输错候选人姓名,则按废票处理。选民投票结束后程序自动显

    编程统计候选人的得票数.设有3个候选人zhang.li.wang(候选人姓名不区分大小写),10个选民,选民每次输入一个得票的候选人的名字,若选民输错候选人姓名,则按废票处理.选民投票结束后程序自动显 ...

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

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

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

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

  8. (PTA)7-3 选民投票 编程统计候选人的得票数。有若干位候选人(n<=10),候选人姓名从键盘输入(候选人姓名不区分大小写,姓名最长为9个字节),若干位选民,选民每次输入一个得票的候选人的名字

    目录 题目 输入格式: 输出格式: 输入样例1: 输出样例1: 输入样例2: 输出样例2: 题目分析 C语言代码 运行截图 题目 输入格式: 先输入候选人人数n和n名候选人姓名,再输入选民人数m和m位 ...

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

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

最新文章

  1. v4l2 FIELD 的理解
  2. 运营商线路细分_呼叫中心各种线路的区分
  3. python发送文件给微信好友_Python定时自动给微信好友发送天气预报
  4. 百年诺奖的那些争议与放弃
  5. 静态网页托管_求职季,教你制作一份精美的在线网页简历,程序员必看!!
  6. 黑马程序员——Java基础---String与StringBuilder
  7. JAVA分布式架构的演变及解决方案
  8. JavaScript:模块化及模块化规范
  9. 趣图:嫁人就嫁程序员,大妈都懂的!
  10. CSR867x — 蓝牙音频发射器方案(支持USB、模拟和SPDIF)
  11. c罗说什么语言,那些年属于C罗的经典语录,那一句话最感动你?
  12. 企小码会话存档使用教程——删人提醒
  13. SSM框架 基于Bootstrap fileinput 实现文件上传功能
  14. ajax发送请求的数据结构
  15. (一) Marlin-2.1.x 源码解析:G-Code指令的接收、解析与执行
  16. c语言判断utf-8中文字符串,C语言中判断一个char*是不是utf8编码分享
  17. 智慧交通大数据可视化,让城市运营车辆可视、可监、可控
  18. 游戏开发中2D场景下实现伪3D碰撞检测方法
  19. 安全模式怎么更改计算机用户,电脑怎么关闭安全模式步骤详解
  20. linux小红帽实验心得,小红帽读书心得(精选4篇)

热门文章

  1. 二阶魔方复原算法推算-Part1
  2. 电脑的计算机自动打开文件,为什么电脑开机后会有一个文件夹自动打开
  3. 《文章生成器》根据关键词生成一篇文章
  4. ArcGIS基础:快速批量删除线要素上多余的折点
  5. Pillow图像处理(PIL.Image类的详细使用)
  6. 微信小程序之图像智能分析
  7. 编辑为什么建议转投_sci编辑建议转投应该接受吗
  8. java MySQL所有语句
  9. 使用 Amazon SageMaker 助力 AI 内容生成
  10. ubuntu 更新系统源