c语言编辑a1=1 a2=2 a3=4 a4=7 a5=11 求a=100怎么编辑

来源:百度知道 编辑:UC知道 时间:2024/05/29 22:41:37

int a[100],i;
a[0]=0;
a[1]=1;
for(i=0;i<99;i++)
{
a[i+1]=a[i]+i+1;
}
重点是for循环

上面的代码,数组都溢出了

#include <stdio.h>
void main()
{
int i;
int a[101];
a[1]=1;
for(i=2;i<101;i++)
{
a[i]=a[i-1]+i-1;
}

for(i=1;i<101;i++)
{
printf("a%d=%d,",i,a[i]);
}

}

一楼的通项公式显然不对,应该是:
a[1]=1;
a[2]=2;
当n>=3时,
a[n]=a[n-1]+n-1;
则;
int a[100],i;
a[1]=1;
a[2]=2;
for(i=3;i<=100;i++)
{
a[i]=a[i-1]+i-1;
}