标题:这个小程序可以简化吗?
只看楼主
溦尘心
Rank: 1
等 级:新手上路
帖 子:17
专家分:4
注 册:2011-3-8
结帖率:66.67%
已结贴  问题点数:20 回复次数:8 
这个小程序可以简化吗?
题目是:快递公司对重量在1公斤以下的快递收费10元;超过1公斤低于10公斤的快递超过部分每公斤加收0.5元;超过10公斤低于50公斤的快递超过部分每公斤加收0.3元;超过50公斤的快递超过部分每公斤加收0.1元.输入某位客户快递的重量w,求收费f.
我自己编的:
#include<stdio.h>
main()
{
    float w,f;
    printf("请输入快递重量w并按回车继续\n");
    while(scanf("%f",&w))
    {
    if(w<=0)
    {
        printf("输入错误,请重新输入\n");
    }
    if(w<=1&&w!=0)
    {
        printf("快递费用=%.2f\n",f=10);

    }
    if(1<w&&w<=10)
    {
    printf("快递费用=%.2f\n",f=(w-1)*0.5+10);
    }
    if(10<w&&w<=50)
    {
        printf("快递费用=%.2f\n",f=(w-1)*0.3+10);
    }
    if(w>50)
    {printf("快递费用=%.2f\n",f=(w-1)*0.1+10);
    }
continue;}
}
搜索更多相关主题的帖子: 快递公司 快递费 
2011-03-15 21:30
pcbaichi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:486
专家分:1185
注 册:2010-11-13
得分:7 
可以啊,怎么不可以

免费赠送河蟹一只
2011-03-15 21:37
溦尘心
Rank: 1
等 级:新手上路
帖 子:17
专家分:4
注 册:2011-3-8
得分:0 
回复 2楼 pcbaichi
比如说?~~~哪里简化下,我只是不想老师教的那样一步一步,C语言简单才是王道
2011-03-15 21:38
pcbaichi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:486
专家分:1185
注 册:2010-11-13
得分:0 
程序代码:
    if(w<=0)
      printf("输入错误,请重新输入\n"); 
    else if(w==1)
        printf("快递费用=%.2f\n",f=10);
    else if(1<w&&w<=10)
        printf("快递费用=%.2f\n",f=(w-1)*0.5+10);
    else if(10<w&&w<=50)
        printf("快递费用=%.2f\n",f=(w-1)*0.3+10);
    else
        printf("快递费用=%.2f\n",f=(w-1)*0.1+10);

免费赠送河蟹一只
2011-03-15 21:50
刘定邦
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:687
专家分:1570
注 册:2010-9-21
得分:7 
楼主不会是做快递的吧。我也是做递。。
2011-03-15 21:58
刘定邦
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:687
专家分:1570
注 册:2010-9-21
得分:0 
程序应该不对。比如说输入50公斤。快递费用为24.7元。输入51公斤快递费用为15元了。有问题呀。
2011-03-15 22:11
溦尘心
Rank: 1
等 级:新手上路
帖 子:17
专家分:4
注 册:2011-3-8
得分:0 
回复 5楼 刘定邦
呵呵~谢谢了,我当然不是做快递的~
最后一条应该改成:
    if(w>50)
    {printf("快递费用=%.2f\n",f=50*0.3+10+(w-50)*0.1);
    }
这样才符合题意!
2011-03-16 19:22
溦尘心
Rank: 1
等 级:新手上路
帖 子:17
专家分:4
注 册:2011-3-8
得分:0 
回复 3楼 溦尘心
谢谢,我尝试了~老师说不符合作业要求~重写!~
呵呵!
2011-03-16 19:23
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
得分:7 
以下是引用pcbaichi在2011-3-15 21:50:11的发言:

    if(w<=0)
      printf("输入错误,请重新输入\n");
    else if(w==1)
        printf("快递费用=%.2f\n",f=10);
    else if(1<w&&w<=10)
        printf("快递费用=%.2f\n",f=(w-1)*0.5+10);
    else if(10<w&&w<=50)
        printf("快递费用=%.2f\n",f=(w-1)*0.3+10);
    else
        printf("快递费用=%.2f\n",f=(w-1)*0.1+10);

学习!!!

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-03-17 16:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-333886-1-1.html




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

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