c++编程入门题解:楼王(循环和打擂法的使用)

题目描述

在一条直线上有n幢楼房,相邻的两幢楼房相隔1米,每幢的高度不尽相同,试求出最高的楼王与最矮的楼之间的高度差,以及这两幢楼房之间的距离。

c++编程入门题解:楼王(循环和打擂法的使用)

输入

两行。
第一行:一个整数n
第二行:空格隔开的n个整数,表示直线上从左往右每幢楼房的高度。

输出

一行,两个整数,分别表示最高与最低楼房的高度差以及它们之间的距离。

样例输入

<code>5
1 2 3 4 5/<code>

样例输出

<code>4 4/<code>

参考程序

<code>#include <bits>
using namespace std;
int main()
{
int n,a,maxn=INT_MIN,minn=INT_MAX,p1,p2;
cin>>n;
for(int i=1;i<=n;i++)
{
\tcin>>a;
\tif(a>maxn)//打擂法
\t{
\t\tmaxn=a;//楼王的高度
\t\tp1=i;//楼王的位置
\t\t}
\t\tif(a<minn>\t\t{
\t\t\tminn=a;//最矮楼高度
\t\t\tp2=i; //最矮楼位置

\t\t}
\t}
\tcout<<maxn-minn>\treturn 0;
}/<maxn-minn>/<minn>/<bits>/<code>

程序运行结果

c++编程入门题解:楼王(循环和打擂法的使用)


分享到:


相關文章: