鱼C论坛

 找回密码
 立即注册
查看: 1275|回复: 3

[已解决]以下代码应该如何修改??

[复制链接]
发表于 2019-8-13 10:29:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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


}

我想输出a,但是s数组不对,导致a无法正确输出。。应该如何修改呢???
最佳答案
2019-8-13 10:31:30
s的类型改为long
a的赋值语句中 12000.0/3534888
而且你的代码都没有输出a
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-8-13 10:31:30 | 显示全部楼层    本楼为最佳答案   
s的类型改为long
a的赋值语句中 12000.0/3534888
而且你的代码都没有输出a
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-13 10:31:58 | 显示全部楼层
你先说你这个程序到底是想做什么,不然都不知道怎么帮你改
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-13 10:35:03 | 显示全部楼层
中间结果溢出
s[0]*s[0]
1178296000*1178296000
看你程序的需求 要么先/(500000+s[i-1]) 要么改为double 不过/(500000+s[i-1])结果都零
改double吧少年
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-4 03:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表