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

求教,错在哪?

#include <stdio.h>
int money(int n; int x)
{
    float y;
     if (n <= 3)
	{
	y = 13 + 1;
	}
	else if (x<5||x >= 23)
	{
		y = 13 + 1 + 2.3*(1 + 0.2)*(n - 3);
	}
	else
	{
		y = 13 + 1 + 2.3*(n - 3);
	}
    return y;
}
int main()
{
    float sum ;
    sum =money(12,9)+money(12,6);
	printf_s("小明每天打车的费用为%f", sum);
    return 0;
}


正在回答

4 回答

printf_s会检查用户自定义的格式字符串是否合法,而printf只会检查printf只会检查格式字符串是否为空,学到了,哈哈

还有,你那个int money(int n; int x),这里用的是中文的括号,这才是英文的括号()

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

时间条件应该用&&

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

if-else需要嵌套,时间是一个条件,里程数是一个条件。

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

define_ray

他们不是对等的,所以不能并列。
2016-01-22 回复 有任何疑惑可以回复我~

#include <stdio.h>


double gg(int t1, int t2, int j)

{

    double m;

    if(t1>5 && t2<=23)

    {

        m = 13 + (j-3)*2.3 + 1;

    }

    else

    {

        m = 13 + (j-3)*2.3*1.2 + 1;

    }

    

    return m;

}


int main()

{

    double a = gg(9,18,12);

    a = gg(9,18,12);

    printf("小明每天打车的总费用为%lf\t元", a*2); 

    

    return 0;

}


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

举报

0/150
提交
取消
C语言入门
  • 参与学习       926027    人
  • 解答问题       20793    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

求教,错在哪?

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