大神撸过帮忙看一下

羊⁢⁡⁢⁡驼 2019-11-08 06:37:21
#include <stdio.h>
#include <math.h>
int main(){
double x,y;
scanf("%d",&x);
if(x>=1)
if(x<=20)
y=(x+1)/x/x;
else y=fabs(x);
else y=2*x+2;
printf("%f",y);
return 0;
}
...全文
70 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
羊⁢⁡⁢⁡驼 2019-11-09
  • 打赏
  • 举报
回复
引用 5 楼 qq_45837591的回复:
[quote=引用 3 楼 不闻窗外事的回复:]
if(x>=1)
if(x<=20)
y=(x+1)/x/x;
else
y=fabs(x);
else
y=2*x+2;
printf("%f",y);

你看看自己的逻辑,哪个if和else对应,知道不??
大哥,我吧输入语句里面的格式改成%f还是不对呀,输入20输出的还是2.00000[/quote] 我知道了,double的输入格式是%lf,我写成%f了,谢谢大哥指点
羊⁢⁡⁢⁡驼 2019-11-09
  • 打赏
  • 举报
回复
引用 3 楼 不闻窗外事的回复:
if(x>=1)
if(x<=20)
y=(x+1)/x/x;
else
y=fabs(x);
else
y=2*x+2;
printf("%f",y);

你看看自己的逻辑,哪个if和else对应,知道不??
大哥,我吧输入语句里面的格式改成%f还是不对呀,输入20输出的还是2.00000
羊⁢⁡⁢⁡驼 2019-11-09
  • 打赏
  • 举报
回复
忘记改了,条件语句能看懂
不闻窗外事 2019-11-08
  • 打赏
  • 举报
回复
if(x>=1)
if(x<=20)
y=(x+1)/x/x;
else
y=fabs(x);
else
y=2*x+2;
printf("%f",y);

你看看自己的逻辑,哪个if和else对应,知道不??
不闻窗外事 2019-11-08
  • 打赏
  • 举报
回复
double x,y;
scanf("%d",&x);
double类型不是使用%d输入,使用%f
羊⁢⁡⁢⁡驼 2019-11-08
  • 打赏
  • 举报
回复
输入的x在1-20之间的时候输出的值一直是2,这是为什么呀

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧