中易网

很急,一道c语言程序,为什么我输入什么数最后结果都得0.00?

答案:2  悬赏:60  
解决时间 2021-01-16 05:12
  • 提问者网友:火车头
  • 2021-01-15 04:13
很急,一道c语言程序,为什么我输入什么数最后结果都得0.00?
最佳答案
  • 二级知识专家网友:骨子里都是戏
  • 2021-01-15 05:05
输入格式问题。由于定义的x是double,所以要用%lf
#include
#include
void main()
{
double x,y;
printf("输入数据:\n");
scanf("%lf",&x);//这里改成%lf,就行
if(x<=5)
y=0;
else if((x>5)&&(x<=10))
y=sin(x);
else
y=cos(x)+sin(x);
printf("y=%.2f\n",y);//输出不改没关系,当然改成lf也行
}
全部回答
  • 1楼网友:玩世
  • 2021-01-15 06:12
double 为双精度型数据 必须用%lf:用于双精度型数据的输出
这是在用scanf的时候要注意的,不然如果你:
double j;
scanf("%f",&j); 这个时候就会出现溢出.
而如果 j 是double型.并且j已经赋值过,这个时候可以用printf("%f",j);只是跟%lf这个格式输出的精度不一样罢了.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息