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

帮忙看下哪儿里有问题啊?

#include <stdio.h>

float p;

int distance(int x)

int time(int t)

{

    if(t>5 && t<23)

    p=2.3;

    else

{   p=2.3*1.2;

    return p;

}

float sum()


{    if(x<=3)

    sum=13+1;

    printf("小明每天打车的总费用:%d",sum);

}

else

{

    sum=(13+(x-3)*p+1)*2;

    printf("小明每天打车的总费用:%d",sum);

 }


int main()

{

    int t(10);

    int x(12);

    return 0;

}



提问者:慕粉2100386094 2016-11-30 18:55

个回答

  • npu2016302099
    2016-11-30 20:00:56
    已采纳

    同学,首先你的代码结构比较混乱,注意养成良好的编程习惯啊!我看了好久才跟上你的思路。

    下面是我替你修改的代码。

    #include <stdio.h>
    float p;
    int x;       这里定义x为全局变量。(建议全局变量尽量少用,会破坏函数的可调用性;)
    int time(int t)
    {
        if(t>5 && t<23)
        p=2.3;
        else
        p=2.3*1.2;
        return p;
    }
    int f(int x)         这里函数名我定义为f,同一个名字一份代码里最好只用一次;
    {  
        int sum;
        if(x<=3)
        {
        sum=13+1;
        printf("小明每天打车的总费用:%d",sum);
        }
        else
        {
            sum=(13+(x-3)*p)*2+1;           这里是每次打车加一元,不是加两元;
            printf("小明每天打车的总费用:%d",sum);
        }
    }
    int main()
    {
        int time(int t);
        int f(int x);

        上面两句并没有执行该函数,得再写一次,像下面这样;
        time(10);
        f(12);
        return 0;
    }

    另外注意,可以把输出语句放在主函数里面写,会简洁一点;

    此外 大括号的使用也要注意,我挑了好久使用错误的大括号。。。。

    祝你编程愉快!