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

为什么我的得出的结果是28?

#include<stdio.h>
float cost(float t)
{
 float number;
 float n = 12;
 if (0<n<= 3)
 {
  return 14;
 }
 else if ((n>3)&&(5 <= t<23))
 {
  number = (13 + (n - 3)*2.3) + 1;
  return number;
 }
 else
 {
  number = (13 + (n - 3)*2.3*1.2) + 1;
  return number;
 }
}
int main()
{
 float t;
 printf("本次打车费用为%.2f\n", cost(6)+cost(21));
 getchar();
 return 0;
}

提问者:慕函数3481025 2018-08-21 14:17

个回答

  • MEMORY_WITH_U
    2018-08-30 11:04:13

    条件语句分开写  不存在1<2<3的条件语句形式

  • 慕后端6790376
    2018-08-28 10:07:46

    #include<stdio.h>float cost(float t){ float number; float n = 12; if (0< n && n<= 3) { 	number=14;  return number; } if (5 <= t<23) {  number = 13 + (n - 3)*2.3 + 1;  return number; } else {  number = (13 + (n - 3)*2.3*1.2) + 1;  return number;  printf("%f\n",number); }}int main(){  float t; printf("本次打车费用为%.2f\n", cost(9)+cost(18)); return 0;}

    第一个if里的条件改为0< n && n<= 3就好了。貌似c里面多个条件要用&&