C 如何使用函数计算BMI?

C 如何使用函数计算BMI?,c,function,codeblocks,C,Function,Codeblocks,计算体重指数。 体重指数将你的体重和身高进行比较,计算方法是将你的体重(千克)除以身高(米)的平方。它能让你知道你是体重不足、体重健康、超重还是肥胖 体重指数类别: 体重不足=18.5&&BMI=25&&BMI=30); { printf(“您的体重指数为%lf,您肥胖。\n”); } 返回0; } 双倍计算BMI(双倍重量,双倍高度) { 双重结果; 结果=体重/(身高*身高); 返回结果; } 帮帮忙,我还不知道怎么做这些功能。请帮助我。您的功能: double calculateBMI(

计算体重指数。 体重指数将你的体重和身高进行比较,计算方法是将你的体重(千克)除以身高(米)的平方。它能让你知道你是体重不足、体重健康、超重还是肥胖

体重指数类别:

  • 体重不足=18.5&&BMI=25&&BMI=30); { printf(“您的体重指数为%lf,您肥胖。\n”); } 返回0; } 双倍计算BMI(双倍重量,双倍高度) { 双重结果; 结果=体重/(身高*身高); 返回结果; } 帮帮忙,我还不知道怎么做这些功能。请帮助我。

    您的功能:

    double calculateBMI(double w, double h)
    {
        BMI = weight / (height*height);
        return calculateBMI;
    }
    
    这里调用函数并返回函数名“calculateBMI”


    返回所需的正确值。这不是递归函数。

    应使用方法中使用的参数来计算BMI。 变量BMI、身高和体重最初未在函数中声明。相反,您应该将BMI声明为双倍,并使用身高和体重作为函数参数

    此外,还需要从函数中返回BMI的值。您返回的calculateBMI不正确,它不是函数中的有效标识符

    工作守则是:-

    double calculateBMI(double weight, double height)
    {
        double BMI = weight / (height*height);
        return BMI;
    }
    
    另外,您还没有在main()中调用calculateBMI()方法

    我还建议您阅读更多关于C中函数的内容。您需要一些关于函数的基础知识(也要努力练习)

    编辑--->根据OP的评论,最终代码为:

    #包括
    #包括
    双重计算BMI(双重重量,双重高度);
    内部主(空)
    {
    printf(“计算你的体重指数”;//计算体重指数(BMI)
    双w,h,BMI;
    printf(“以千克为单位输入您的体重:\n”,w);//在此处以千克为单位输入您的体重
    扫描频率(“%lf”、&w);
    printf(“以米为单位输入您的高度:\n',h);//在此处以米为单位输入您的高度
    扫描频率(“%lf”、&h);
    BMI=计算的BMI(w,h);
    printf(“您的体重指数为%lf\n”,体重指数)
    printf(“BMI类别:\n”);
    如果(体重指数<18.5)
    {
    printf(“您的体重指数为%lf,您目前体重不足。\n”);
    }
    否则,如果(体重指数>=18.5&&BMI=25&&BMI=30);
    {
    printf(“您的体重指数为%lf,您肥胖。\n”);
    }
    返回0;
    }
    双倍计算BMI(双倍重量,双倍高度)
    {
    双重结果;
    结果=体重/(身高*身高);
    返回结果;
    }
    
    您遇到了什么问题?你的问题是什么?我的函数和返回有问题。你能帮我指出我哪里做错了并增强我的编码吗?对于初学者来说,你实际上并没有在任何地方调用你的函数。若要继续,请将
    printf
    与需要参数但不提供这些参数的格式化代码一起使用(导致未定义的行为)。最后,您使用了大量未初始化的变量(再次导致未定义的行为)。哦,代码甚至不应该编译,因为您使用的变量未在
    calculateBMI
    函数中定义,如果你是C语言的初学者,我建议你后退几步,用最简单的“hello world”程序重新开始,并从那里开始迈出一小步。你也应该帮助你。那也不会编译,体重指数,体重和身高从未声明过。是的,我错过了,你们能帮我吗?是的,体重指数应该返回,而不是函数。感谢you@A.nonymous-还要检查编辑。@A.nonymous还有一件事没有调用calculateBMI()的函数,请检查相同的。帮助我刚刚编辑了代码。但我仍然不知道这是对还是错。帮助。您的
    ret
    calculateBMI()
    都在进行相同的计算!请不要使用ret计算BMI,这是calculateBMI()函数的目的@不重要的
    double calculateBMI(double weight, double height)
    {
        double BMI = weight / (height*height);
        return BMI;
    }
    
    ...
    printf("Enter your weight in kilograms:\n"); //Input your weight in kilograms here
    scanf("%lf", &weight);
    printf("Enter your height in metres:\n"); //Input your height in metres here
    scanf("%lf", &height);
    // add below line in your code to call the function.
    BMI = calculateBMI(height,weight);
    printf("BMI categories:\n");
    ...
    
    #include <stdio.h>
    #include <stdlib.h>
    
    double calculateBMI(double weight, double height);
    
    int main(void)
    {
    printf("Calculate your BMI\n"); //Calculation of body mass index (BMI)
    
    double w, h, BMI;
    printf("Enter your weight in kilograms:\n", w); //Input your weight in kilograms here
    scanf("%lf", &w);
    printf("Enter your height in metres:\n", h); //Input your height in metres here
    scanf("%lf", &h);
    BMI = calculateBMI(w,h);
    printf("Your BMI is %lf\n", BMI)
    
    printf("BMI categories:\n");
    if (BMI < 18.5)
    {
        printf("Your BMI is %lf and you are currently underweight.\n");
    }
    else if (BMI >= 18.5 && BMI <= 24.9)
    {
        printf("Your BMI is %lf and you are normal weight.\n");
    }
    else if (BMI >= 25 && BMI <= 29.9);
    {
        printf("Your BMI is %lf and you are currently overweight.\n");
    }
    else (BMI >= 30);
    {
        printf("Your BMI is %lf and you are obese.\n");
    }
    
    
    return 0;
    }
    
    double calculateBMI(double weight, double height)
    {
        double result;
        result = weight / (height*height);
        return result;
    }