哈哈哈的 发表于 2019-8-13 10:29:14

以下代码应该如何修改??

#include <stdio.h>
void main()
{
        doublea;
        int i;
        int s;
        int k=1000000;
        s=1178296000;
        for(i=1;i<=11;i++)
        {
                s=(s*s)/(500000+s);
       
        }
        a=0.01*0.00076*2*s*(1-12000/3534888);
printf("%d",s);


}

我想输出a,但是s数组不对,导致a无法正确输出。。应该如何修改呢???

BngThea 发表于 2019-8-13 10:31:30

s的类型改为long
a的赋值语句中 12000.0/3534888
而且你的代码都没有输出a

迷雾少年 发表于 2019-8-13 10:31:58

你先说你这个程序到底是想做什么,不然都不知道怎么帮你改

micolar 发表于 2019-8-13 10:35:03

中间结果溢出
s*s
1178296000*1178296000
看你程序的需求 要么先/(500000+s) 要么改为double 不过/(500000+s)结果都零
改double吧少年
页: [1]
查看完整版本: 以下代码应该如何修改??