问答详情
源自:-

这个为什么出不来结果?大神们帮忙

 你去邮局给朋友寄礼物。发现邮局对邮寄包裹的费用是这样规定的:如果包裹长宽高任意一个尺寸超过1米,或重量超过30千克,不予邮寄;对可以邮寄的包裹每件收手续费 0.2 元,不同重量的邮资按下表计算:

重量(千克)

   

收费标准(元)

   

小于10 0 . 80元每克;大于10但不超过20

   

0 . 75元每克

   

大于20但不超过30

   

0 . 70元每克

   

编写程序,输入包裹的长、宽、高尺寸和重量,输出所需的邮资(输出结果中包含两位小数即可),超出尺寸或重量的输出 "Error” .

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main()
{
 float a,b,c,w;
 scanf("%f,%f,%f,%f",&a,&b,&c,&w) ;
 if (a>1||b>1||c>1||w>30) printf("Error\n");
 else  if( w>0  && w<=10 )
 printf("%f\n",0.2+0.8*w);
 else if ( w>10 && w<=20)
 printf("%f\n",0.2+0.75*w);
 else if (w>10 && w<=20)
 printf("%f\n",0.2+0.7*w);
  return 0;
}

提问者:BITjjjjjj 2015-04-07 23:34

个回答

  • 木易念青
    2015-04-07 23:41:14

     if (a>1||b>1||c>1||w>30) printf("Error\n"); 这里是int 型和float型比较,你可以将a,b,c,w设置为double 型。