新手在线求大佬指导,太难了
某汽车运输公司根据距离来算运费,距离越远一公里的运费越低距离0<=s<500,一公里运费0.5
距离500<=s<1000,一公里运费0.4
距离1000<=s<2000,一公里运费0.3
距离2000<=s<4000,一公里运费0.2
距离s>=4000,一公里运费0.1
请编写程序,输入距离,输出该距离对应的运费。(用switch解决)
#include <stdio.h> int main( void ) { unsigned long s; printf( "输入距离(非负整数,单位:公里): " ); if( scanf("%lu",&s) != 1 ) { puts( "输入格式错误." ); return 1; } double f; switch( s/500 ) { case 0: f = 0.5; break; case 1: f = 0.4; break; case 2: case 3: f = 0.3; break; case 4: case 5: case 6: case 7: f = 0.2; break; default: f = 0.1; break; } printf( "总运费是 %.2f 元\n", s*f ); }