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

求教,错在哪?

#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;
}


提问者:奔跑01234567 2016-01-22 09:07

个回答

  • 侠客岛的含笑
    2016-02-21 16:16:47

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

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

  • m慕光
    2016-01-24 21:46:41

    时间条件应该用&&

  • define_ray
    2016-01-22 11:05:18

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

  • 0小奕0
    2016-01-22 10:53:50

    #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;

    }