我想得到第三十个数的数,请问应该做什么改动

img

#include <stdio.h>
 
int main()
{
    int t1 = 1, t2 = 1, nextTerm = 0, n,inx=3;
 
    printf("输入一个正数: ");
    scanf("%d", &n);
 
    // 显示前两项
    printf("斐波那契数列: \n第1项=%d\n第2项=%d\n", t1, t2);
 
    nextTerm = t1 + t2;
 
    while(inx <= n)
    {
        printf("第%d项=%d\n",inx,nextTerm);
        t1 = t2;
        t2 = nextTerm;
        nextTerm = t1 + t2;
        inx++;
    }
    
    return 0;
}

img

第一个for,i<30

int 型数据范围为2^31,第30项的斐波那契数列超出int型的范围了,改用 long long int 试试。