标签:设计思想 分享图片 clu 三次 运行结果截图 图片 顺序 \n 代码
设计思想:
输入一个长度为5的数组,第一次用每2个数按顺序组成4个子数组,对其求和;第二次用每3个数按顺序组成3个子数组,对其求和;第三次用每4个数按顺序组成2个子数组,对其求和;第四次用5个数求整个数组的和;然后求所有子数组和的最大值。
源程序代码:
#include<stdio.h>
int main()
{
int a[5],sum=0,sum5[5],sum4[4],sum3[3],sum2[2],sum1,m,n,temp,max[5];
for(m=0;m<5;m++)
{
scanf("%d",&a[m]);
}
for(m=0;m<5;m++)
{
sum+=a[m];
sum5[m]=sum;
sum=0;
}
for(m=0;m<4;m++)
{
sum=sum+a[m]+a[m+1];
sum4[m]=sum;
sum=0;
}
for(m=0;m<3;m++)
{
sum=sum+a[m]+a[m+1]+a[m+2];
sum3[m]=sum;
sum=0;
}
for(m=0;m<2;m++)
{
sum=sum+a[m]+a[m+1]+a[m+2]+a[m+3];
sum2[m]=sum;
sum=0;
}
sum1=a[0]+a[1]+a[2]+a[3]+a[4];
for(m=0;m<5;m++)
{
for(n=m+1;n<5;n++)
{
if(sum5[m]<sum5[n])
{
temp=sum5[m];
sum5[m]=sum5[n];
sum5[n]=temp;
}
}
max[0]=sum5[0];
}
for(m=0;m<4;m++)
{
for(n=m+1;n<4;n++)
{
if(sum4[m]<sum4[n])
{
temp=sum4[m];
sum4[m]=sum4[n];
sum4[n]=temp;
}
}
max[1]=sum4[0];
}
for(m=0;m<3;m++)
{
for(n=m+1;n<3;n++)
{
if(sum3[m]<sum3[n])
{
temp=sum3[m];
sum3[m]=sum3[n];
sum3[n]=temp;
}
}
max[2]=sum3[0];
}
for(m=0;m<2;m++)
{
for(n=m+1;n<2;n++)
{
if(sum2[m]<sum2[n])
{
temp=sum2[m];
sum2[m]=sum2[n];
sum2[n]=temp;
}
}
max[3]=sum2[0];
}
max[4]=sum1;
for(m=0;m<5;m++)
{
for(n=m+1;n<5;n++)
{
if(max[m]<max[n])
{
temp=max[m];
max[m]=max[n];
max[n]=temp;
}
}}
printf("%d\n",max[0]);
}
运行结果截图:
标签:设计思想 分享图片 clu 三次 运行结果截图 图片 顺序 \n 代码
原文地址:https://www.cnblogs.com/zoulan/p/9751778.html