鱼C论坛

 找回密码
 立即注册
查看: 1937|回复: 10

[已解决]麻烦大神帮我看下代码

[复制链接]
发表于 2017-10-14 10:58:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>

void main()
{
        int s;
        float p,w,d,f;
        f=p*w*s*(1-d);
        printf("     请依次输入基本运费P、货物重w、距离s\n");
        scanf("&f,&f,&d",p,w,s);
        if (s<250)
                d==0;
        else if (s>=250||s<500)
                d==0.02;
        else if (s>=500||s<1000)
                d==0.05;
        else if (s>=1000||s<2000)
                d==0.08;
        else if (s>=2000||s<3000)
                d==0.10;
        else if (s>=3000)
                d==0.15;
        else 
                printf("您输入的数值有误,请重新输入");
        printf("%f=%f*%f*%d*(1-%f)\n",f,p,w,s,d);
}

可以运行,但是我输入数字后跟想象的不一样啊,就像下面这样,反复看了好多遍也没看出来到底问题出在哪,请大神帮我看下
     请依次输入基本运费P、货物重w、距离s
5.0,5.0,5
-1063382215022128900000000000000000.000000=-107374176.000000*-107374176.000000*-858993460*(1--107374176.000000)
Press any key to continue
最佳答案
2017-10-14 11:19:15
。。。。。。。。。。。。
#include <stdio.h>

int main()
{
        int s = 0;
        float p = 0.0f;
        float w = 0.0f;
        float d = 0.0f;
        float f = 0.0f;
        
        printf("     请依次输入基本运费P、货物重w、距离s\n");
        scanf("%f,%f,%d",&p,&w,&s);
        f=p*w*s*(1-d);
        if (s<250)
                d=0;
        else if (s>=250||s<500)
                d=0.02;
        else if (s>=500||s<1000)
                d=0.05;
        else if (s>=1000||s<2000)
                d=0.08;
        else if (s>=2000||s<3000)
                d=0.10;
        else if (s>=3000)
                d=0.15;
        else 
                printf("您输入的数值有误,请重新输入");
        printf("%f=%f*%f*%d*(1-%f)\n",f,p,w,s,d);

        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-10-14 11:17:20 | 显示全部楼层
scanf("&f,&f,&d",p,w,s);  这里错了,应该是scanf("%f,%f,%f",&p,&w,&s);
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-14 11:19:15 | 显示全部楼层    本楼为最佳答案   
。。。。。。。。。。。。
#include <stdio.h>

int main()
{
        int s = 0;
        float p = 0.0f;
        float w = 0.0f;
        float d = 0.0f;
        float f = 0.0f;
        
        printf("     请依次输入基本运费P、货物重w、距离s\n");
        scanf("%f,%f,%d",&p,&w,&s);
        f=p*w*s*(1-d);
        if (s<250)
                d=0;
        else if (s>=250||s<500)
                d=0.02;
        else if (s>=500||s<1000)
                d=0.05;
        else if (s>=1000||s<2000)
                d=0.08;
        else if (s>=2000||s<3000)
                d=0.10;
        else if (s>=3000)
                d=0.15;
        else 
                printf("您输入的数值有误,请重新输入");
        printf("%f=%f*%f*%d*(1-%f)\n",f,p,w,s,d);

        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-14 11:19:32 | 显示全部楼层
代码第9行,应该是这样:
scanf("%f,%f,%d", &p, &w, &s);
另:第一次看到你这scanf的用法我都懵了,毕竟好久没写C代码了,看来感觉没错。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-14 21:22:30 | 显示全部楼层
你这错误也是没谁了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-15 13:03:41 | 显示全部楼层
丶忘却的年少o 发表于 2017-10-14 11:17
scanf("&f,&f,&d",p,w,s);  这里错了,应该是scanf("%f,%f,%f",&p,&w,&s);

谢谢,感觉好丢人的说,但是我的代码把这个改掉了也有错误,请问还有哪出了问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-15 13:13:17 | 显示全部楼层
duzunchong 发表于 2017-10-15 13:03
谢谢,感觉好丢人的说,但是我的代码把这个改掉了也有错误,请问还有哪出了问题

问题在于你的if判断这里,你要d为一个值,但是你写的是关系判断,==是判断相等,=才是赋值。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-15 13:16:55 | 显示全部楼层
橙C 发表于 2017-10-14 11:19
。。。。。。。。。。。。

谢谢,我按照您的代码执行没有一点问题,想问下您除了scanf这一行的问题,为什么一定要给这几个变量一个控制字符?   还有什么f的计算公式要写在输入那行的下面?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-15 13:18:33 | 显示全部楼层
丶忘却的年少o 发表于 2017-10-15 13:13
问题在于你的if判断这里,你要d为一个值,但是你写的是关系判断,==是判断相等,=才是赋值。

感觉这几行代码出了不止一个两个问题,还是谢谢您
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-15 13:19:03 | 显示全部楼层
newu 发表于 2017-10-14 11:19
代码第9行,应该是这样:

另:第一次看到你这scanf的用法我都懵了,毕竟好久没写C代码了,看来感觉没错 ...

谢谢,这么弱智的问题也犯了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-15 13:19:34 | 显示全部楼层
谢坡坡 发表于 2017-10-14 21:22
你这错误也是没谁了

毕竟刚学,出了好多问题,偶然写一个没有问题的简单代码能开心好一会
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-28 16:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表