字符串的应用————竞选主席

题目描述

又来到了四年一度的主席竞选大赛,然后有n个候选人,编号分别是从1-n,现在需要你统计出票数最多的候选人是谁

输入

输入n

然后依次是n行

下面第几行就代表第几个候选人的票数

输出

输出最多票数的候选人编号以及票数

样例输入 
5
98765
12365
87954
1022356
985678
样例输出 
4
1022356
提示

票数可能会达到100位数字

n<=20

错误示范

错误解释

由于题目要求候选人的票数可能达到100位数字,因此int 类型是存不下这么大的数字(long long 也不可以),所以只能使用其他办法,使用字符串来比较大小。

解题思路

因为数字太大的所以不能用数字进行比较,我们都知道数字其实也是字符,我们输入的100位数字可以把它看作100个字符连起来的字符串,再通过字符串之间的比较来判断谁的票数多,其它思路大差不差收集票数最多的人的编号和票数再打印出来。

代码如下:

总结

因为是对字符串之间进行比较,首先比较字符串的长度,若字符串中的字符多票数自然也就多,若长度相等,则使用strcmp函数进行字符串比较,因为字符1,2,3,4,5,6,7,8,9对应的asc码值也是依此增大的,所以使用strcmp函数进行比较,因为使用了strlen,strcmp,strcpy函数所以在开头加上#include<string.h>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

3分人生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值