1. 程式人生 > >軟件工程概論作業:返回一個整數數組中最大子數組的和

軟件工程概論作業:返回一個整數數組中最大子數組的和

元素 getc bubuko getchar get urn scan scanf [1]

技術分享圖片

求所有子數組的和的最大值實驗思路:

從第一個元素開始循環,再嵌套另外一個循環,從每一個元素開始,依次加上後邊的元素。

當和大於最大值時,把和賦值給最大值,並記錄此時首元素的下標和尾元素的下標

程序代碼如下

int main()
{
int a[10];
int b[5];
int i,j,t;
printf("請輸入10個數(相鄰兩個數字為一個新數組):\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
getchar();
b[0]=a[0]+a[1];
b[1]=a[2]+a[3];
b[2]=a[4]+a[5];
b[3]=a[6]+a[7];
b[4]=a[8]+a[9];
printf("\n");
for(j=0;j<4;j++)
{
if(b[j]>b[j+1]) {t=b[j];b[j]=b[j+1];b[j+1]=t;}
}
printf("字數組的和最大值為:\n");
//for(i=0;i<10;i++)
printf("%d",b[4]);
printf("\n");
getchar();
return 0;
}
運行結果如圖 技術分享圖片


軟件工程概論作業:返回一個整數數組中最大子數組的和