这是怎么回事。给定一个由 5 个整数组成的数组:5, 7, 3, 9, 4
void DoMaths (void)
{
int iArray [] = { 5, 7, 3, 9, 4 } ;
int iSize = 5 ;
int iGroup ;
int iIndex ;
int iPass ;
int iResults ;
int iStart ;
int iSum ;
// Init
iGroup = 1 ;
iResults = iSize ;
// Repeat for each pass
for (iPass = 0 ; iPass < iSize ; iPass ++)
{
printf ("\n") ;
printf ("Pass %d : Group %d :\n", iPass, iGroup) ;
// Repeat for each group of integers in a pass
for (iStart = 0 ; iStart < iResults ; iStart ++)
{
iSum = 0 ;
printf (" %d [ ", iStart) ;
for (iIndex = iStart ; iIndex < (iStart + iGroup) ; iIndex ++)
{
printf ("%d ", iIndex) ;
iSum += iArray [iIndex] ;
}
printf ("] sum = %d \n", iSum) ;
}
iGroup ++ ;
iResults -- ;
}
return ;
}
这会产生以下结果...
第 0 组:第 1 组:
0 [ 0 ] 总和 = 5
1 [ 1 ] 总和 = 7
2 [ 2 ] 总和 = 3
3 [ 3 ] 总和 = 9
4 [ 4 ] 总和 = 4
第 1 组:第 2 组:
0 [ 0 1 ] 总和 = 12
1 [ 1 2 ] 总和 = 10
2 [ 2 3 ] 总和 = 12
3 [ 3 4 ] 总和 = 13
通行证 2:第 3 组:
0 [ 0 1 2 ] 总和 = 15
1 [ 1 2 3 ] 总和 = 19
2 [ 2 3 4 ] 总和 = 16
第 3 组:第 4 组:
0 [ 0 1 2 3 ] 总和 = 24
1 [ 1 2 3 4 ] 总和 = 23
第 4 组:第 5 组:
0 [ 0 1 2 3 4 ] 总和 = 28