设计思路:
在“整数数组中最大子数组求和01”的基础上完成本次实验。
本次实验的关键在于如何判断结束。
经设计,程序结束条件有两种:1.截取部分有重复;2.循环完整两次。
满足其中任一条件则循环结束。
代码:
1 #include<iostream> 2 #include <algorithm> 3 using namespace std; 4 5 int main() 6 { 7 int a[100]; 8 int NUM = 0; 9 int MAXSUM = 0; 10 int SUM = 0; 11 for (; NUM<100; NUM++) 12 { 13 cin >> a[NUM]; 14 if (getchar() == ‘\n‘) 15 { 16 break; 17 } 18 } 19 if (NUM == 100) 20 { 21 NUM = 99; 22 } 23 for (int i = 0; i <= NUM; i++) 24 { 25 SUM = max(SUM+a[i], a[i]); 26 MAXSUM = max(SUM, MAXSUM); 27 } 28 cout <<"最大和:"<< MAXSUM << endl; 29 return 0; 30 }
原文:http://www.cnblogs.com/ning-JML/p/5326332.html