求学霸帮忙看看吧,不知道是标点,还是括号原因无法运算啊

来源:5-14 综合练习

lolipop漫

2015-07-19 23:57

#include <stdio.h>

int cost(int a,int b)

{   if(3>=b>0){

  float result=14;}

else(5>a||a>=23)

    {float result=14+2.3*(b-3)*1.2; }if(23>a>=5)

    { float result=14+2.3*(b-3); }

    return result; }

int main()

float money=cost(9,12)+cost(18,12);

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

    return 0;

}/*In function 'cost':

 error: expected ';' before '{' token

 warning: no newline at end of file这是出错的地方我也不懂哪里错了*/


写回答 关注

4回答

  • kkkbbb
    2015-07-20 22:57:13
    已采纳

    对了还有else是不能用来判断的,他是否则的意思,应该写成这样:

    …………

    else

    if(5>a||a>=23)

        {float result=14+2.3*(b-3)*1.2; }

    if(23>a>=5)

        { float result=14+2.3*(b-3); }

        return result; }

    …………

    lolipo...

    非常感谢!

    2015-07-22 18:33:35

    共 1 条回复 >

  • kkkbbb
    2015-07-20 22:52:07

    你#include后面为什么要加空格呢,哪个老师教你的

    lolipo...

    别在意细节,也许只是手误

    2015-07-22 18:31:55

    共 1 条回复 >

  • Fayne丶VALSK
    2015-07-20 10:48:00

    if多重结构只要根据逻辑顺序写或嵌套一般都没有问题,关于float result首先你在代码中出现了很多次,其次你在if-else语句中定义的result的作用范围并不到return result;这里~,所以应该在函数一开始就定义这个变量。不知道解释得清不清楚= =

    lolipo...

    恩,谢谢!以后注意

    2015-07-22 18:31:07

    共 1 条回复 >

  • lolipop漫
    2015-07-20 00:16:04

    我知道原因了,首先要把第二个else改成if,第二个if改成else。然后把int cost,改成float,不然会变成整数型,然后输出68.。同时在开头阶段添加float result,定义变量。来个人说明下,if多重结构,else和if顺序错会出错吗,还有为什么要定义float result;

C语言入门

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

926027 学习 · 20793 问题

查看课程

相似问题