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++編程入門題解:樓王(循環和打擂法的使用)


分享到:


相關文章: