原题链接:倒数第二
题目描述:
有人说倒数第一是毫无压力的,因为没人任何压力而言,但反而倒数第二是提心吊胆的,因为担心倒数第一有一天考试的时候不来,自己沦为倒数第一(^_^)
这道题就是求n个成绩(整数)中倒数第二小的数。
每一个整数都独立看成一个数,比如,有三个数分别是2,2,5,
那么,第二小的数就是2。
解题思路:
本题可以采用多组测试或单组测试!
多组测试:
(1)while(cin>>C) 或者 while(~scanf("%d",&C))或者while(scanf("%d",&C)!=EOF)
(2)循环C次: while(C--)
(3)将数组存入容器: vec.push_back(num)
(4)把所有数据由从小到大排序:
sort(vec.begin(),vec.end());
(5)排序后,第二小的数就是数组的第2个元素: vec[1].
(6)输出vec[1]: cout<<vec[1];
注意事项:
以下两种代码都能通过测试(C++),C/C++是一门语言,不分家的!
参考代码(多组测试):
#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int C; vector<int> vec; while(cin>>C) { while(C--) { int cnt; cin>>cnt; while(cnt--) { int num; cin>>num; vec.push_back(num); } sort(vec.begin(),vec.end()); cout<<vec[1]<<endl; } } return 0; }
单组测试:
#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int C; vector<int> vec; cin>>C; while(C--) { int cnt; cin>>cnt; while(cnt--) { int num; cin>>num; vec.push_back(num); } sort(vec.begin(),vec.end()); cout<<vec[1]<<endl; } return 0; }
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复