鱼C论坛

 找回密码
 立即注册
查看: 1533|回复: 2

[已解决]身高体型判定系统完美版 C语言代码

[复制链接]
发表于 2023-4-26 11:40:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
同孝们,你们准备好了吗?让我们快快行动起来吧!
在单元4的项目实施环节,已经将两个系统合并为一个完整的系统,缺点是无论用户如何选择,每次仅能完成一个功能,可否允许用户反复多次使用该系统呢?这时借助于循环来实现。让我们来看一下整个项目的流程图吧(如图5-8所示)!
开始
定义变量:sclcct、flag
flag!=-1   N; 结束
Y
输出系统功能信息
用户选择:1身高;2体型
select=1
N
体型判定功能
体型判定结果
Y
身高判定功能
身高预测结果
结束
图5-8“身高体型判定系统”完美版

最佳答案
2023-4-29 17:06:23
#include <stdio.h>

int main() {
    int select, flag = 0;
    float height, weight, bmi;

    while (flag != -1) {
        printf("\n请输入数字选择功能:\n1. 身高预测\n2. 体型判定\n");
        scanf("%d", &select);

        switch (select) {
            case 1:
                printf("\n请输入体重(单位:千克):");
                scanf("%f", &weight);
                height = 1.7 + (weight - 60) / 10.0 * 0.15;
                printf("预测身高为:%.2f米\n", height);
                break;
            case 2:
                printf("\n请输入身高(单位:米):");
                scanf("%f", &height);
                printf("请输入体重(单位:千克):");
                scanf("%f", &weight);
                bmi = weight / (height * height);
                if (bmi < 18.5) {
                    printf("您的BMI指数为:%.2f,体重过轻。\n", bmi);
                } else if (bmi < 24) {
                    printf("您的BMI指数为:%.2f,体重正常。\n", bmi);
                } else if (bmi < 28) {
                    printf("您的BMI指数为:%.2f,体重过重。\n", bmi);
                } else if (bmi < 32) {
                    printf("您的BMI指数为:%.2f,肥胖。\n", bmi);
                } else {
                    printf("您的BMI指数为:%.2f,严重肥胖。\n", bmi);
                }
                break;
            default:
                printf("\n无效选择,请重新输入。\n");
                break;
        }

        printf("\n是否继续使用?(Y/N)");
        char choice;
        scanf(" %c", &choice);
        if (choice == 'N' || choice == 'n') {
            flag = -1;
        }
    }

    printf("\n谢谢使用,再见!\n");

    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-26 11:48:04 | 显示全部楼层
首先,我要纠正一下,我不是GPT-4,而是基于GPT-3.5的模型。但我会尽力为您提供帮助。下面是根据您的流程图创建的C语言代码。
#include <stdio.h>

// 身高预测函数
void height_prediction() {
    // 在此处添加身高预测功能的代码
    printf("身高预测结果\n");
}

// 体型判定函数
void body_type_judgment() {
    // 在此处添加体型判定功能的代码
    printf("体型判定结果\n");
}

int main() {
    int select, flag = 0;

    while (flag != -1) {
        printf("输出系统功能信息\n");
        printf("请选择功能:1. 身高预测;2. 体型判定;-1. 退出程序\n");
        scanf("%d", &select);

        if (select == 1) {
            height_prediction();
        } else if (select == 2) {
            body_type_judgment();
        } else if (select == -1) {
            flag = -1;
            printf("程序已结束。\n");
        } else {
            printf("无效的输入,请重新选择。\n");
        }
    }

    return 0;
}

这是一个基本的程序框架,其中包含两个功能函数:身高预测和体型判定。您需要在这两个函数中分别添加相应的代码以实现功能。在主函数中,我们使用一个while循环来允许用户反复多次使用该系统,直到输入-1退出程序。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-29 17:06:23 | 显示全部楼层    本楼为最佳答案   
#include <stdio.h>

int main() {
    int select, flag = 0;
    float height, weight, bmi;

    while (flag != -1) {
        printf("\n请输入数字选择功能:\n1. 身高预测\n2. 体型判定\n");
        scanf("%d", &select);

        switch (select) {
            case 1:
                printf("\n请输入体重(单位:千克):");
                scanf("%f", &weight);
                height = 1.7 + (weight - 60) / 10.0 * 0.15;
                printf("预测身高为:%.2f米\n", height);
                break;
            case 2:
                printf("\n请输入身高(单位:米):");
                scanf("%f", &height);
                printf("请输入体重(单位:千克):");
                scanf("%f", &weight);
                bmi = weight / (height * height);
                if (bmi < 18.5) {
                    printf("您的BMI指数为:%.2f,体重过轻。\n", bmi);
                } else if (bmi < 24) {
                    printf("您的BMI指数为:%.2f,体重正常。\n", bmi);
                } else if (bmi < 28) {
                    printf("您的BMI指数为:%.2f,体重过重。\n", bmi);
                } else if (bmi < 32) {
                    printf("您的BMI指数为:%.2f,肥胖。\n", bmi);
                } else {
                    printf("您的BMI指数为:%.2f,严重肥胖。\n", bmi);
                }
                break;
            default:
                printf("\n无效选择,请重新输入。\n");
                break;
        }

        printf("\n是否继续使用?(Y/N)");
        char choice;
        scanf(" %c", &choice);
        if (choice == 'N' || choice == 'n') {
            flag = -1;
        }
    }

    printf("\n谢谢使用,再见!\n");

    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-26 15:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表