厦理oj-1721第二小-创新互联

Description

成都创新互联是一家专注于成都网站设计、网站制作与策划设计,资兴网站建设哪家好?成都创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:资兴等地区。资兴做网站价格咨询:18980820575

求N个整数中倒数第二小的数。每一个整数都独立看成一个数,比如,有三个数分别是1,1,3那么,第二小的数就是1。

Input

第一行输入一个整数N,表示数组的长度,2<= N< 1024
第二行输入N个整数,空格间隔,表示数组元素值

Output

输出倒数第二小的数值

分析:逻辑:输入数值->对数值进行排序->输出第二小

故本题难点在于对数值进行排序

我们用上经典的冒泡算法进行排序:

#includeint main()
{
	int N;
	int a[1025];
	int o;
	//数值输入部分 
	scanf("%d",&N);
	for(o=0;oa[j+1])     //这里默认采用升序来排列 
		 {
		 	int temp;        //定义一个临时值来存储数据,以此来达到交换数值的目的
			temp = a[j];
			a[j] = a[j+1];
			a[j+1] = temp;
		 }	
	}
   }
   
  	printf("%d",a[1]);
   return 0;
} 


	
	

但是显然,冒泡算法还是略显复杂.

那么,有没有简单的写法?

有!

因为平台允许使用c++的代码

所以这里我们直接用c++的代码进行降维打击

我们使用sort()函数直接排序

代码即这样

#include#include
using namespace std;
int main()
{
	int N;
	int a[1025];
	int i;
	scanf("%d",&N);
	for(i=0;i

这样更加简单直观.

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前题目:厦理oj-1721第二小-创新互联
链接分享:http://myzitong.com/article/dhjoss.html