问答详情
源自:5-14 综合练习

为什么我算的结果是69?

http://img.mukewang.com/599ebeb20001c58d07820549.jpg难道不应该有小数吗?哪里出了问题啊?

提问者:centrifugeSIW 2017-08-24 19:55

个回答

  • 睡醒的人
    2017-08-26 14:44:46
    已采纳

    不能是%d , 得是 %f

  • qq_向前看_2
    2017-09-07 21:28:52

    请问你第三行的{ 在哪结束的?

  • 今天你还在坚持吗
    2017-08-25 16:46:40

    貌似你这个时间有点问题,因为题目刚好不在23-次日5点,你的时间那里,貌似是没法同事满足那三个条件的

  • 今天你还在坚持吗
    2017-08-25 16:41:48

    这个是稍微改进了一下的。

    #include <stdio.h>
    int main()
    {
     int Morning,Night,distance;
     float Pay,Pay1,Pay2,Rate1,Rate2;
     printf("请分别输入距离,早晨时间,晚上时间(24小时制)\n");
     scanf("%d",&distance);
     scanf("%d%d",&Morning,&Night);
     if(distance<=3)
     {
      Pay = (13+1)*2;
     }
     else
     {
      if((Morning>=23&&Morning<=24)||(Morning>=0&&Morning<5))
      {
       Rate1=1.2;
       Pay1=((13+(distance-3)*2.3)*Rate1)+1;      
      }
      else Pay1=((13+(distance-3)*2.3)+1);
     
      if((Night>=23&&Night<=24)||(Night>=0&&Night<=5))
      {
       Rate2=1.2;
       Pay2=((13+(distance-3)*2.3)*Rate2)+1;      
      }
      else Pay2=((13+(distance-3)*2.3))+1;
      Pay=Pay1+Pay2;
     } 
     printf("小明一天打车%f元,早上%d点打的,晚上%d点打的",Pay,Morning,Night);
     return 0;
    }

  • 今天你还在坚持吗
    2017-08-25 16:13:57

    #include <stdio.h>
    int main()
    {
     int Morning,Night,distance,Rate1,Rate2;
     float Pay,Pay1,Pay2;
     distance = 12;
     Morning = 9,Night = 6+12;
     if(distance<=3)
     {
      Pay = (13+1)*2;
     }
     else
     {
      if(Morning>=23&&Morning<=24||(Morning>=0&&Morning<=5))
      {
       Rate1=1.2;
       Pay1=((13+(distance-3)*2.3)*Rate1)+1;      
      }
      else Pay1=((13+(distance-3)*2.3)+1);
     
      if(Night>=23&&Night<=24||(Night>=0&&Night<=5))
      {
       Rate2=1.2;
       Pay1=((13+(distance-3)*2.3)*Rate2)+1;      
      }
      else Pay2=((13+(distance-3)*2.3))+1;
     }
     printf("小明一天打车%f元",Pay1+Pay2);
     return 0;