
编程初学者入门2_同学投票竞选社长
发布日期:2021-05-07 20:39:23
浏览次数:23
分类:原创文章
本文共 1758 字,大约阅读时间需要 5 分钟。
-
题目描述
假设你们社团要竞选社长,有两名候选人分别是A和B,社团每名同学必须并且只能投一票,最终得票多的人为社长. -
输入描述
一行,字符序列,包含A或B,输入以字符0结束。 -
输出描述
一行,一个字符,A或B或E,输出A表示A得票数多,输出B表示B得票数多,输出E表示二人得票数相等。
思路
首先我想到是用字符数组,但是输入的是连续字符串而且要判断以0结束,不知道怎么很好的判断结束
票数问题一般要有 各自的计数,这里两个人分别为a_count,b_count
循环输入,当scanf("%c",&ch) != EOF
(End Of File)就是文件读取还没有结束,不写不通过
分支判断,是否0跳出,票数加1
根据票数,输出相应的结果
- 思路1代码
# include<bits/stdc++.h>using namespace std;int main(){ int a_count = 0 ,b_count = 0; char ch = 0; while(scanf("%c",&ch) != EOF){ if(ch == '0') break; if(ch == 'A') a_count++; if(ch == 'B') b_count++; } if(a_count == b_count) printf("E\n"); else if(a_count > b_count) printf("A\n"); else printf("B\n"); return 0;}
- 思路2代码
利用字符数组
# include<bits/stdc++.h>using namespace std;int main(){ //计数 int a_count = 0 ,b_count = 0; //字符数组 //char stu[99]; char stu[99]; //读取全部输出的字符串 scanf("%s",stu); //字符串的长度 int len = strlen(stu); //循环计数,加票,判断是结束 for(int i = 0;i< len;++i){ if(stu[i] == 'A') a_count++; else if(stu[i] == 'B') b_count++; else break; } //打印输出结果 if(a_count == b_count) printf("E\n"); else if(a_count > b_count) printf("A\n"); else printf("B\n"); return 0;}
- Python版代码
ll = list(input())count_A = ll.count('A')count_B = ll.count('B')if count_A == count_B: print('E')elif count_A > count_B: print('A')else: print('B')
拓展
//写法1 while ((ch = getchar()) != EOF && getchar() != '\n') continue;//写法2while (getchar() != '\n') continue;
这两种写法的区别
-
两种写法对于 换行符的过滤 效果是一样的,换行符输入,循环结束
-
读取多行,遇到换行符就结束循环,第一个多判断了文件尾
-
读取单行,第一个一直读到 文件尾 或 换行符;第二个一直读取到换行才结束,如果输入结束符EOF,第二种判断不会跳出循环
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年04月08日 15时55分20秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
python去除字符串中的特殊字符(爬虫存储数据时会遇到不能作为文件名的字符串)
2019-03-06
SpringCloud微服务(03):Hystrix组件,实现服务熔断
2019-03-06
Spring 框架基础(01):核心组件总结,基础环境搭建
2019-03-06
Cassandra数据建模
2019-03-06
Internet Explorer 10 专题上线
2019-03-06
云计算之路-阿里云上:0:25~0:40网络存储故障造成网站不能正常访问
2019-03-06
网站故障公告1:使用阿里云RDS之后一个让人欲哭无泪的下午
2019-03-06
上周热点回顾(6.3-6.9)
2019-03-06
上周热点回顾(8.12-8.18)
2019-03-06
【故障公告】升级阿里云 RDS SQL Server 实例故障经过
2019-03-06
蹒跚来迟:新版博客后台上线公测
2019-03-06
[网站公告]11月26日00:00-04:00阿里云RDS升级
2019-03-06
[网站公告]又拍云API故障造成图片无法上传(已恢复)
2019-03-06
云计算之路-阿里云上:“黑色30秒”走了,“黑色1秒”来了,真相也许大白了
2019-03-06
上周热点回顾(6.9-6.15)
2019-03-06
上周热点回顾(10.20-10.26)
2019-03-06
上周热点回顾(2.16-2.22)
2019-03-06
上周热点回顾(3.2-3.8)
2019-03-06
.NET跨平台之旅:借助ASP.NET 5 Beta5的新特性显示CLR与操作系统信息
2019-03-06
上周热点回顾(7.27-8.2)
2019-03-06