我的数据输出怎么是负数,c语言大神求指教 #include<stdio.h> #define PI 3.14 int 5
我的数据输出怎么是负数,c语言大神求指教#include<stdio.h>#definePI3.14intmain(){floats,v,r,h;scanf("r=%lf...
我的数据输出怎么是负数,c语言大神求指教
#include<stdio.h>
#define PI 3.14
int main()
{float s,v,r,h;
scanf("r=%lf,h=%lf",&r,&h);
s=PI*r*r;
v=PI*r*r/3;
printf("s=%lf,v=%lf",s,v);
} 展开
#include<stdio.h>
#define PI 3.14
int main()
{float s,v,r,h;
scanf("r=%lf,h=%lf",&r,&h);
s=PI*r*r;
v=PI*r*r/3;
printf("s=%lf,v=%lf",s,v);
} 展开
3个回答
展开全部
由于你的输入输出格式控制是%lf,因此定义变量用double比较好,scanf对输入模式有严格的要求,如果输入的数据与参数不符合,那么就直接返回,后面的参数没有办法接收数据,你在scanf中r=%lf,h=%lf这样控制格式,那么在输入数据时,需要r=1.5,h=2.5这样的格式输入,才能让变量r和h接收到你输入的参数,如果你不按照这个格式输入参数,那么scanf函数就会返回错误,变量就有可能接收不到正确的数据,导致程序运行结果不正确
展开全部
#include<stdio.h>
#define PI 3.14
int main()
{float s,v,r,h;
scanf("r=%lf,h=%lf",&r,&h);
s=PI*r*r;
v=PI*r*r/3;
printf("s=%lf,v=%lf",s,v);
}
首先你的r和h变量定义的是float类型的了。 你的scanf里面的输入格式符号应该写成%f才对啊
scanf("r=%f,h=%f",&r,&h);
应该向上面一样
再看看你的输入格式列表写的是
"r=%f,h=%f"
这样子的话‘r=’‘,’‘h=’就要原样输入了比如你要想输入1.1 和1.3话
应该是r=1.1,h=1.3 然后回车 注意哦r=’‘,’‘h=’这三个要带上的
printf也是一样的
printf("s=%f,v=%f",s,v);把里面的'l'去掉了
当然你也可以把float s,v,r,h; 这里的float改为double
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-10-25
展开全部
输入和输出截图看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询