參考如下代碼:
#include?<stdio.h>#define?ARRAY_LENGTH?101
int?main(int?argc,?char**?argv)
{
//?初始化,將第?i?個元素的值為?i?+?1
int?values[ARRAY_LENGTH];
for?(int?i?=?0;?i?<?ARRAY_LENGTH;?i++)
{
values[i]?=?i?+?1;
}
//?最後壹個元素為?0
values[ARRAY_LENGTH?-?1]?=?0;
//?元素值得和,這裏用?long?的原因是,如果用?int?
//?可能導致溢出(這裏不會,和應該是?5050)
long?sum?=?0;
//?從後向前移動,這裏因為上壹步設置了最後壹個元素為?0,
//?所以這裏可以不用校驗索引,如果沒有設置最後壹個元素為
//?0,應該忽略最後壹個元素
for?(int?i?=?ARRAY_LENGTH?-?1;?i?>?0;?i--)
{
sum?+=?i;
values[i]?=?values[i?-?1];
}
//?最後設置第?0?個元素為總和
values[0]?=?sum;
for?(int?i?=?0;?i?<?ARRAY_LENGTH;?i++)
{
printf_s("%d\n",?values[i]);
}?
return?0;
}
結果: