标签:
一 题目要求(合并题目)
#include<iostream>
#include<time.h>
#include<conio.h>
#define N 100000
using namespace std;
void RandIn(int IntNum,int A[])//随机生成IntNum个正负数输出五列
{
cout<<"整数内容"<<endl;
for(int i=0;i<IntNum;i++)
{
A[i]=rand()-rand();
cout<<A[i];
if(i%5==4)
cout<<endl;
else
cout<<‘\t‘;
}
}
void SelMax(int IntNum,int A[],auto &sum)
{
auto buffer=0;//引入一个常量记录累加的和
int count1=0;//buffer进行求和的数值个数
int count2=0;//for语句进行的运算次数
for(int j=0;j<=IntNum;j++)
{
if(j==IntNum)
{
j=0;
}
buffer+=A[j];
count1++;
count2++;
if(buffer<0)//如果累加和小于0,buffer重新初始化为0
{
buffer=0;
count1=0;
}
if(sum<buffer)//sum始终记录下存在的最大和
{
sum=buffer;
}
if(count1>IntNum||count2>IntNum*2)//如果累加数count1超过IntNum跳出循环,或者语句进行的运算次数超出数组数值的两倍
{
break;
}
}
}
void main()
{
int IntNum;
int A[N];
int q=0;
while(q==0)
{
auto sum=0;
srand((unsigned)time(NULL));
cout<<"请输入整数的个数:";
cin>>IntNum;
RandIn(IntNum,A);
SelMax(IntNum,A,sum);
cout<<endl;
cout<<sum<<endl;
cout<<"是否继续测试(输入0则继续否则停止)";
cin>>q;
system("cls");
}
}
四 程序截图




五 结对照片

六 实验总结
本次试验进一步加深了对数组的认识,由于只是对前面程序的改善,收获并没有那么多,后面会进行更多的尝试
标签:
原文地址:http://www.cnblogs.com/tianma-0/p/4374317.html