| 问题描述:某环形公路上有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;
}
 
 |