鱼C论坛

 找回密码
 立即注册
查看: 2828|回复: 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;
}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

  1. #include <stdio.h>

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

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

  12. int main() {
  13.     int select, flag = 0;

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

  18.         if (select == 1) {
  19.             height_prediction();
  20.         } else if (select == 2) {
  21.             body_type_judgment();
  22.         } else if (select == -1) {
  23.             flag = -1;
  24.             printf("程序已结束。\n");
  25.         } else {
  26.             printf("无效的输入,请重新选择。\n");
  27.         }
  28.     }

  29.     return 0;
  30. }
复制代码


这是一个基本的程序框架,其中包含两个功能函数:身高预测和体型判定。您需要在这两个函数中分别添加相应的代码以实现功能。在主函数中,我们使用一个while循环来允许用户反复多次使用该系统,直到输入-1退出程序。
小甲鱼最新课程 -> https://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;
}
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-10 15:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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