这题很水,一定要理解什么意思,就是求相邻两个数之间差最小的两个位置,其中特别要注意的是第一个和最后一个也可以相减,可以看成是一个环!
#include<cstdio>
#include<iostream>#include<cmath>
using namespace std;
int main()
{
int n,i,a[105],endb,x,min,h;
while(cin>>n)
{
for(i=1;i<=n;i++)
cin>>a[i];
a[n+1]=a[1];
min=100000;//这里我一开始就犯了错误,写成100后,WA,就把其改大了点!
for(i=1;i<=n;i++)
{
x=abs(a[i]-a[i+1]);
if(x<min)
{
min=x;
endb=i;
}
}
if(endb==n)
h=1;
else
h=endb+1;
printf("%d %d\n",endb,h);
}
return 0;
}