问题描述 :某环形公路上有n个站点,分别记为a1,a2…an,从ai到ai+1的距离为di,从an到a1的距离为d0,假设d0=dn=1,保存在数组d中,编写一个函数高效地计算出公路上任意两点地最近距离。
本人非常悲伤的是 :写的时候把d[100]写进了定义的函数里,然后又在main函数定义了一次,以至于一直报错,非常悲伤,不过后来问了别人把bug改出来了,所以一定要定义全局变量
#include <iostream>
using namespace std;
int d[100];
void mind(int a, int b, int N)
{
int s = 0, n = 0;
int sum = 0;
for (int i = 0; i < N; i++)
{
sum += d[i];
}
for (int i = a; i < b; i++)
{
s += d[i];
}
n = sum - s;
cout << endl;
if (s <= n)
cout << "顺时针" << s;
else
cout << "逆时针" << n;
}
int main()
{
int N, a, b;
cin >> N >> a >> b;
for (int i = 0; i < N; i++)
{
cin >> d[i];
}
mind(a, b, N);
return 0;
}
|