高手帮忙做道c++编程题(算法要用循环链表,思路简洁清晰)

问题描述:

高手帮忙做道c++编程题(算法要用循环链表,思路简洁清晰)
最好都有批注 圆盘找最大和最小和 如图有一列整数构成一个圈,试找出3个连续数(紧挨着的3个数),它们相加和最大,再找出和数最小的3个数,试编一程序求之.输入 输入有若干行.每行有若干个整数a1,a2,…,am,(-10000≤a1,a2,…,am ≤ 10000),他们表示一个圆盘上的m个数,(m≤1000),整数之间有一个或多个空格,行尾无多余空格.输入直到文件输入结束.输出 对输入中每一行表示的一个圆盘,在一行上先输出“Case #:”,其中“#”是测试数据的行编号(从1开始),接着在下面的一行上分别输出这三个相邻数字之和中的最大和Maximum、取得最大和对应的那三个相邻数字的第一个数的下标MaxIndex、最小和minimum、以及取得最小和对应的那三个相邻数字的第一个数的下标minIndex,用逗号分隔.格式见输出样例,等号两边无空格,逗号后有一个空格.注:数的下标约定从1开始编起.假如这些数不到3个,那么就无法按圆盘方式计算,此时输出“No maximal and minimal!” 输入样例 20 1 8 4 13 6 10 15 2 17 3 19 7 16 8 11 14 9 12 5 1 -2 输出样例 Case 1:Maximum=42,MaxIndex=12,minimum=13,minIndex=2 Case 2:No maximal and minimal!

// 以下代码在VC2008下编译测试通过 #includeusing namespace std; int main(void) { int arr[100]; int n; int caseCount = 1; while(cin >> n) { for(int i = 0; i > arr[i]; if(n