100个人排队分一堆苹果,问第100个人分了几个苹果?他说比第99个人多100个。
问第99个人分了几个苹果?他说比第98个人多99个。
以此类推,第n个人比第n-1个人多n个苹果。
最后问第一个人,他说分了8个。请问第100个人具体分了多少个苹果?
解题思路1:for循环
#include <stdio.h>
int main()
{
//i控制循环初始值,n为总人数
int i,n;
//由题目可知第一人有8个苹果
int appleNum = 8;
printf("请输入总人数:");
scanf("%d",&n);
//第i人比第i-1人多i个苹果,即第2人比第1人多2个苹果,第3人比第2人多3个苹果,以此类推
for(i = 2; i <= n; i++){
appleNum = appleNum + i;
printf("appleNum[%d] = %d\n",i,appleNum);
}
printf("第[%d]个人具体分了[%d]个苹果\n",n,appleNum);
}
程序运行结果:
解题思路2:递归
#include <stdio.h&