| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2391 人关注过本帖
标题:新人编程错误,求解
只看楼主 加入收藏
不知其可
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2020-1-31
结帖率:100%
收藏
已结贴  问题点数:13 回复次数:7 
新人编程错误,求解
图片附件: 游客没有浏览图片的权限,请 登录注册

#include <stdio.h>

int main()
{
    double p,w,s,d,f;
    scanf("%lf%lf%lf",&p,&w,&s);
    f=p*w*s*(1-d);
    if(s<250) printf("%lf\n",d=0);
    if(s>=250&&s<500) printf("%lf\n",d=0.02);
    if(s>=500&&s<1000) printf("%lf\n",d=0.05);
    if(s>=1000&&s<2000) printf("%lf\n",d=0.08);
    if(s>=2000&&s<3000) printf("%lf\n",d=0.10);
    if(s>=3000) printf("%lf\n",d=0.15);
    printf("%lf",f);
}
他输出的折扣率正确,但是最后求取f的时候没有吧d引入进去是为什么啊?
搜索更多相关主题的帖子: printf scanf 引入 编程 错误 
2020-02-02 21:17
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:3 
在你代码基础上修改了一下,因为没有测试用例,我也不知道是否正确,仅供参考
程序代码:
#include <stdio.h>

int main()
{
    double p,w,s;
    scanf("%lf%lf%lf",&p,&w,&s);

    double d;
    if(s<250) d=0;
    else if(s<500) d=0.02;
    else if(s<1000) d=0.05;
    else if(s<2000) d=0.08;
    else if(s<3000) d=0.10;
    else d=0.15;

    double f=p*w*s*(1-d);
    printf("%lf\n",f);
}

收到的鲜花
  • 静夜思2020-02-03 14:42 送鲜花  20朵   附言:聊表心意
  • 叶纤2020-02-03 16:28 送鲜花  1朵   附言:20年感谢有你,👼
2020-02-03 00:02
八画小子
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:37
帖 子:709
专家分:2063
注 册:2010-11-11
收藏
得分:3 
回复 2楼 rjsp
你是一如既往地每个问题都回答哈,中国好版主
收到的鲜花
  • 静夜思2020-02-03 14:45 送鲜花  20朵   附言:送花
  • 叶纤2020-02-03 16:34 送鲜花  5朵  
2020-02-03 00:20
叶纤
Rank: 8Rank: 8
等 级:禁止访问
威 望:1
帖 子:658
专家分:848
注 册:2019-11-22
收藏
得分:3 
回复 3楼 八画小子
我最敬佩的人就是r版主了,其实新手虽然问的问题很无语,但是也很需要有人去引导,如果我第一天在论坛发的贴没有人回答的话,我有可能会放弃,我会怀疑我学编程有啥用,但是r版回答了我第一第二个等等问题,给了我希望,没有他我可能真的会放弃,他是我心目中最好的导师,是最棒的筷子兄弟老男孩,像r版这样的人,和现在冲在前线去武汉救死扶伤的白衣天使有什么区别。真的很深深的感谢r版的默默付出不计回报
收到的鲜花
  • 静夜思2020-02-03 14:46 送鲜花  20朵  

把学习时间浪费在混坛上是傻瓜行为,更何况自己的水平连一两都没到。
2020-02-03 00:38
不知其可
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2020-1-31
收藏
得分:0 
回复 2楼 rjsp
谢谢
2020-02-03 14:46
叶纤
Rank: 8Rank: 8
等 级:禁止访问
威 望:1
帖 子:658
专家分:848
注 册:2019-11-22
收藏
得分:0 
我又尝试了两遍还是不可以,应该是手机的问题。。。。
收到的鲜花
  • 静夜思2020-02-03 16:01 送鲜花  20朵   附言:感谢帮忙测试😇

把学习时间浪费在混坛上是傻瓜行为,更何况自己的水平连一两都没到。
2020-02-03 15:10
n老庄
Rank: 2
等 级:论坛游民
帖 子:4
专家分:33
注 册:2019-11-7
收藏
得分:3 
程序执行到
f=p*w*s*(1-d);
这一步时,d的值还是未知的
2020-02-04 08:45
鲸落南北
Rank: 2
等 级:论坛游民
帖 子:10
专家分:20
注 册:2020-1-28
收藏
得分:3 
#include<stdio.h>

int main()
{
    double p,w,s,f;
    scanf("%lf%lf%lf",&p,&w,&s);
    if(s<250)
    {
        f=p*w*s;
    }
    if(s>=250&&s<500)
    {
        f=p*w*250+p*w*(s-250)*(1-0.02);
    }
    if(s>=500&&s<1000)
    {
        f=p*w*250+p*w*245+p*w*(s-500)*(1-0.05);   
    }
    if(s>=1000&&s<2000)
    {
        f=p*w*250+p*w*245+p*w*475+(s-1000)*(1-0.08);
    }
    if(s>=2000&&s<3000)
    {
        f=p*w*250+p*w*245+p*w*475+p*w*920+(s-2000)*(1-0.1);
    }
    if(s>=3000)
    {
        f=p*w*250+p*w*245+p*w*475+p*w*920+p*w*900+p*w*(s-3000)*(1-0.15);
    }
    printf("%.2f",f);
    return 0;
}
咱也不会太简单的方法,只能用笨方法算了,得到的结果应该是正确的
2020-02-04 10:36
快速回复:新人编程错误,求解
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018972 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved