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

大佬帮忙看一下输出老是14

#include <stdio.h>
float rmb(float l,float t)
{
 float rmb1,time,lon;
 if(time<=5||time>=23)
 {
  if(lon<=3)
  {
   printf("%.2f",rmb1=13+1);
  }
  else
  {
   printf("%.2f",rmb1=13+1+(lon-3)*(2.3*1.2));
  }
 }
 else
 {
  if(lon<=3)
  {
   printf("%.2f",rmb1=13+1);
  }
  else
  {
   printf("%.2f",rmb1=13+1+(lon-3)*2.3);
  }
 }
 
 
}
int main()
{
 float lon1,time1;
 printf("请输入乘车距离和时间:");
 scanf("%f%f",&lon1,&time1);
 printf("乘车费为:");
 rmb(lon1,time1);
}

提问者:wdsheeran 2018-11-06 22:01

个回答

  • 慕九州0467378
    2018-11-09 10:56:44
    已采纳

    定义函数中不应该是输出 应该是返回到主函数中

    #include <stdio.h>

    int main()

    {

        float con(float n,float i);

        float f,z;

        f=con(12,18);

        z=con(12,9);

        printf("%2f",(z+f));

        return 0;

    }

    float con(float n,float i)

    {

        if( i>=5&&i<23)

        {

     

         if(n<=3)

         

             return (13+1);

         

         else

         

             return ((n-3)*2.3+14);

         

        }

        else

        {

     

             if(n<=3)

         

             return (13+1);

         

         else

            

             return ((n-3)*2.3*1.2+14);

         

          

        }

    }