编程用int定义时输出的数值过大输出错误怎么办?

大哥们哪位知道,编程用int定义时输出的数值过大输出错误怎么办?
最新回答
吧唧妳壹口

2025-03-02 03:59:17

可以考虑使用能容纳更大范围的数据类型,比如long long,比如float、double
实在不行自己用整型数组存储更大的数。
诗雨伊意

2025-03-02 00:26:08

换成long试一下,如果还不行只能用数组存储了
追问
没办法,我就是用数组,想要输出fibonacci数列的前50项
追答
我的意思是一个数分段存储,int最大是32767,如果一个数位数超过32767位,这数也太大了吧,定义int a[10],然后a[0]存个位,a[1]存十位,………最多能存下32767位数
洞房不败

2025-03-02 02:31:18

你这前50项用unsigned long int都不好使,用double吧

#include <stdio.h>

int main()
{
    double a[50] = {1.0, 2.0};
    
    for(int i = 0; i < 50; ++i)
    {
        if(i==0 || i==1)
            printf("%.0lf\n", a[i]);
        else
        {
            a[i] = a[i-1]+a[i-2];
            printf("%.0lf\n", a[i]);
        }
    }
    return 0;
}
饮醉

2025-03-02 01:12:02

循环太大,假死吧,你在for中加一个print语句看看