为了账号安全,请及时绑定邮箱和手机立即绑定

为什么算出来0

#include <stdio.h>
int money(int a,int s)
{
  int sum;
  if(s<=3) sum==14;
  else if((a>=23&&a<24)||(a<5&&a>0)) sum==1+2.3*1.2*(s-3);
  else sum==1+2.3*(s-3);
}
int main()
{
   int all;
   all==money(9,12)+money(18,12);
   printf("小明每天打车%d元",all);
    return 0;
}

正在回答

3 回答

#include <stdio.h>

float price(int time,int distance)

{

    float percost=2.3,pay;

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

        percost+=percost*0.2;

    if(distance<=3)

        return 14;

    else

    {

        pay=13+(distance-3)*percost+1;

        return pay;

    }

}

int main()

{

    int time1=9,time2=18,distance=12;

    float pay1=price(time1,distance);

    float pay2=price(time2,distance);

    printf("%.2f\n",pay1+pay2);

    return 0;

}


0 回复 有任何疑惑可以回复我~

同上而且。。。题意你也还没看明白。 少了一个13.。

0 回复 有任何疑惑可以回复我~

刚开始,我跑不了你的代码。改了一丢丢。

#include <stdio.h>

int money(int a,int s)

{

  int sum;

  if(s<=3)

  {

  sum=14; // == 是关系运算符,我们需要赋值运算符,你几乎每一处都写了关系运算符

  }

  else if((a>=23&&a<24)||(a<5&&a>0))

  {

  sum=1+2.3*1.2*(s-3);

  }

  else 

  {

  sum=1+2.3*(s-3);

  }

  return sum; //你原本的函数没有返回的值,相当于这个函数只有输入没有输出

}

int main()

{

   int all;

   all=money(9,12)+money(18,12); //因为没返回值,这里自然会有错误

   printf("小明每天打车%d元",all);

   return 0;

}

这样跑出来的结果是:小明每天打车42元

同小白勉强解释,你自己再改一改吧。加油。

1 回复 有任何疑惑可以回复我~
#1

C_S_C 提问者

非常感谢!!
2018-09-04 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么算出来0

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信