24小时热门版块排行榜    

查看: 594  |  回复: 1

陈洛然

新虫 (小有名气)

[求助] 如果在while(fabs(t)>=num)前给num赋初值则没问题,如果用scanf键入则运行不了 已有1人参与

请教个问题:程序输出3.1414,如果在while(fabs(t)>=num)前给num赋初值则没问题,如果用scanf键入则运行不了,程序如下
#include<stdio.h>
#include<math.h>
main()
{
        int s=1;
        double pi=0.0,n=1.0,t=1.0,num;
        scanf("%f",&num);
        while(fabs(t)>=num)
        {
                pi=pi+t;
                n=n+2;
                s=-s;
                t=s/n;
        }
        pi=pi*4;
        printf("pi=%f\n",pi);
}
回复此楼

» 猜你喜欢

想做的事总有办法,不想做的事总有借口
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

alice_blue

新虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
num 为double型,在使用scanf函数时格式符号应该为 %lf,即
scanf("%lf",&num);
2楼2015-06-08 11:03:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 陈洛然 的主题更新
信息提示
请填处理意见