首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

感觉没有错,如何运行结果是一个很大的负整数?请问下大家

2013-12-13 
感觉没有错,怎么运行结果是一个很大的负整数?请教下大家#include stdio.h//已知 f(n)f(n-1)+2f(n-2)-5f

感觉没有错,怎么运行结果是一个很大的负整数?请教下大家

#include <stdio.h>

//已知 f(n)=f(n-1)+2f(n-2)-5f(n-3), f(0)=1,f(1)=2,f(2)=3, 求 f(0)+f(1)+……+f(20)
int main(void)
{
long a[21]={1,2,3},sum,i;

sum = a[0]+a[1]+a[2];
for (i = 3 ; i <= 20 ; i++)
{
a[i] = a[i-1] + 2 * a[i-2] - 5 * a[i-3];
sum += a[i];
a[i-3] = a[i-2];
a[i-2] = a[i-1];
a[i-1] = a[i];
}
printf("%ld \n", sum);

return 0;
}

[解决办法]
怎么看怎么觉得
        a[i-3] = a[i-2];
        a[i-2] = a[i-1];
        a[i-1] = a[i];
这三行是多余的
[解决办法]

a[i-3] = a[i-2];
a[i-2] = a[i-1];
a[i-1] = a[i];


这是在干什么?

热点排行