洛谷:宇宙总统,C++

编程入门 行业动态 更新时间:2024-10-23 01:56:01

洛谷:宇宙<a href=https://www.elefans.com/category/jswz/34/1765984.html style=总统,C++"/>

洛谷:宇宙总统,C++

题目描述

地球历公元 6036 年,全宇宙准备竞选一个最贤能的人当总统,共有 n 个非凡拔尖的人竞选总统,现在票数已经统计完毕,请你算出谁能够当上总统。

输入格式

第一行为一个整数 n,代表竞选总统的人数。

接下来有 n 行,分别为第一个候选人到第 n 个候选人的票数。

输出格式

共两行,第一行是一个整数 m,为当上总统的人的号数。

第二行是当上总统的人的选票。

输入输出样例

输入 #1复制

5
98765
12365
87954
1022356
985678

输出 #1复制

4
1022356

说明/提示

票数可能会很大,可能会到 100 位数字。

11 ≤ n ≤ 20

思路:

高精度,我们就是说要用字符串

排序,我们依旧采用sort结构体排序 (有1说1,C++用起来真的比C要方便狠多)

对于字符串排序,这里我们使用strcmp()函数  

算是 C与C++混合用法吧

代码:

#include<bits/stdc++.h>
using namespace std;struct peak{int ID;char piao[1000];int length; 
};struct peak arr[20];
int n;bool cmp(struct peak arr1,struct peak arr2)
{if(arr1.length > arr2.length)//先比较长度return 1;else if(arr1.length < arr2.length)return 0;else//长度相同,逐个比较{if(strcmp(arr1.piao,arr2.piao) > 0)return 1;else if(strcmp(arr1.piao,arr2.piao) > 0)return 0;}		
}int main()
{cin >> n;for(int i = 0;i < n;i ++){arr[i].ID = i+1;cin >> arr[i].piao;arr[i].length = strlen(arr[i].piao);}sort(arr,arr+n,cmp);cout << arr[0].ID << endl << arr[0].piao;return 0;
}

收获:

字符串比较用strcmp()函数,但strcmp函数是C语言里的,相对应字符串就得定义成字符数组

更多推荐

洛谷:宇宙总统,C++

本文发布于:2024-02-06 03:28:50,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1746051.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:总统   宇宙   洛谷

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!