永发信息网

c语言题目,pta里说n很大则不满足(见图)

答案:2  悬赏:0  手机版
解决时间 2021-03-06 23:54
c语言题目,pta里说n很大则不满足(见图)
最佳答案
#include 
int main()

    double s=0,a=2,b=1; 
    int t,i,n; 
    scanf ("%d",&n); 
    for (i=1;i<=n;i++) 
    { 
        s=s+a/b; //将各项累加 
        t=a; 
        a=a+b; //将前一项的分子与分母之和作为下一项的分子 
        b=t; //将前一项的分子作为下一项的分母 
    } 
    printf ("%.2lf
",s); 
    return 0;
}刚才尝试将t改为double后,发现n=3000时,a,b溢出。
将程序作如下更改:
#include 
int main()

    double s=0;
    int n = 0;
    scanf ("%d",&n);
    double tmp = 2 / 1;
    while (n--)
    {
        s += tmp;
        tmp = 1 / tmp + 1;
    }
    printf("%.2lf
", s);
    return 0;
}试试~
全部回答

应该是你定义的变量类型比较混乱造成的。a、b是双精度,t是整型,将双精度a的值赋给整型t,又将整型t的值赋给双精度b,太乱了。a、b就是整型。#include 
int main()

int t,i,n,a=2,b=1; 
double s=0; 
scanf ("%d",&n); 
for (i=1;i<=n;i++) 

s=s+1.0*a/b; //前面加1.0*,就不是整型运算了
t=a; 
a=a+b; 
b=t; 

printf ("%.2lf ",s); 
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
楼下嫌我们吵,其实我们没吵,九点我们看电视
职称计算机考试的证书过了领取时间还能去领取
双华鲜奶吧(二中店)怎么去啊,有知道地址的么
赤峰市鑫鸿达职业技能培训学校地址有知道的么
朱顶红发的小苗要养到什么时候能开花呀求解
【吃了含敌敌畏的食物多久会中毒】
辉字的含义
tokico和nissin哪个好
海垦幼儿园地址在哪,我要去那里办事
求mc大嘴韩毒词
每个人的另一半是不是就是命中注定的?
爱人问我七夕怎么过? 我该怎么回答和怎么做
2019年经纶学典学霸组合训练九年级语文全一册
星际争霸2虫群之心战役有几关
求音乐:小放牛 笛子独奏...刘炽
推荐资讯
怎样鉴别紫砂壶吸水快
【青梅竹马取自哪个典故】“青梅竹马”、“两
好朋友面临感情问题怎么安慰她
七年级第二章数学题整式及其加减物体自由下落
小米6能玩超凡蜘蛛侠手机游戏吗?
在indesign cs4里面调完下面的单元格,怎样让
请问去广告设计公司都需要会什么软件?
番茄红果(R)对黄果(r)为显性,果实二室(
满堂红酒店在什么地方啊,我要过去处理事情
DNF6月19更新后觉醒任务,必须通过死亡之塔多
一个不喜欢你的女生会和你上床吗,鸡除外
一个三角形的面积是80平方分米,它的底是16分
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?