标题:求助!请问各位大大 我的语法哪里出错了
只看楼主
临风独舞翩跹
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2020-8-30
结帖率:0
已结贴  问题点数:20 回复次数:1 
求助!请问各位大大 我的语法哪里出错了



我的程序
#include<stdio.h>
void main()
{
    int p,w,s;
    float d,f;
    printf("请输入基本运费,货物重量,运输距离.\n");
    scanf("%d%d%d",&p,&w,&s);
    f=p*w*s*(1-d);
    switch(0<s<=3000)
    {
    case s<250:printf("总运费为\n",p*w*s);break;
    case 250<=s<500:printf("总运费为\n",p*w*s*(1-0.02));break;
    case 500<=s<1000:printf("总运费为\n",p*w*s*(1-0.05));break;
    case 1000<=s<2000:printf("总运费为\n",p*w*s*(1-0.08));break;
    case 2000<=s<3000:printf("总运费为\n",p*w*s*(1-0.1));break;
    case 3000=s:printf("总运费为\n",p*w*s*(1-0.15));break;
    default:printf("input error\n");
    }
}   
搜索更多相关主题的帖子: break 语法 printf case 出错 
2020-08-30 19:52
纯蓝之刃
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:76
帖 子:554
专家分:3690
注 册:2019-7-29
得分:20 
程序代码:
#include<stdio.h>

int main()
{
    int p,w,s,num,type;
    float f=0;
    printf("请输入基本运费,货物重量,运输距离.\n");
    scanf("%d%d%d",&p,&w,&s);
    type=s/250;
    switch(type)
    {
    default:
        num=s-250*12;
        f+=p*w*num*(1-0.15);
    case 11:
    case 10:
    case 9:
    case 8:
        num=s>=250*12?(3000-2000):(s-250*8);
        f+=p*w*num*(1-0.10);
    case 7:
    case 6:
    case 5:
    case 4:
        num=s>=250*8?(2000-1000):(s-250*4);
        f+=p*w*num*(1-0.08);
    case 3:
    case 2:
        num=s>=250*4?(1000-500):(s-250*2);
        f+=p*w*num*(1-0.05);
    case 1:
        num=s>=250*2?(500-250):(s-250);
        f+=p*w*num*(1-0.02);
    case 0:
        num=s>=250?250:s;
        f+=p*w*num;
        break;
    }
    printf("总运费为%f\n",f);

    return 0;
}

我认为应该是这样,不过最好有个示例验证一下。

一沙一世界,一花一天堂。无限掌中置,刹那成永恒。
2020-08-30 21:13



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




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

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