题目描述:

有人说倒数第一是毫无压力的,因为没人任何压力而言,但反而倒数第二是提心吊胆的,因为担心倒数第一有一天考试的时候不来,自己沦为倒数第一(^_^)

这道题就是求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;
}


点赞(5)
 

0.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论