例子:

  要求:医务工作者通过广泛的调查和统计分析,根据成人的身高与体重因素给出了按“体质指数”进行判断的方法,具体如下:

  • 体质指数t=体重 w/(身高h)2(w的单位为kg,h的单位为m)
  • 当t<18kg/m2时,为低体重;
  • 当t介于18kg/m2和25kg/m2之间时,为正常体重;
  • 当t介于25kg/m2和27kg/m2之间时,为超重体重;
  • 当t>=27kg/m2之间时,为肥胖;

  编程实现:从键盘输入您的身高w和体重h,根据上述公式计算体质指数t,然后判断您的体重属于何种类型

  具体要求:

  1. 输入,输出要有提示信息,程序运行结果示例如下:

  请输入您的身高(单位为m):1.6

  请输入您的体重(单位为kg):50

  您的体重正常!(可以在基本框架上加以修改)

  2.选择合适的选择语句

  3.针对四种不同情况,分别输入不同数据得到不同结果,来进行验证这个程序正确性

  4.输入负数会得到什么?该怎么修改呢?

思路:

  分析整体可以得知这是一个范围性的选择,在这里 李同学用的是if...else语句,其实单用if语句也可以

  但是这次就用一种进行运行就好了 要记住 只要代码能跑 就不要再改了

  特别提醒:一定要注意运算符号的使用,不止加减乘除,更有与或非的灵活运用

  话不多说 上代码!!

#define _CRT_SECURE_NO_WARNINGS 1//在这里定义一个宏避免报错而已,但是李同学将后面的scanf都改为了scanf_s所以这里去掉也问题不大
#include<stdio.h>
#include<math.h>//因为李同学在代码中用到公式pow(,),所以加了一个定义数学函数
int main()
{
    int t;//常规定义变量
    float w, h, i;
    printf("欢迎使用李同学写的检测体重是否在标准范围内的代码!n");
    {
        printf("请输入您的身高(单位为m):");
        scanf_s("%f", &h);
    }
    {
        printf("请输入您的体重(单位为kg):");
        scanf_s("%f", &w);
    }//因为要根据题目的类型输出,所以李同学就直接用两个大括号将两部分隔开了,如果有别的做法欢迎斧正,感谢!!
    {
        i = pow(h, 2);//套用公式得出t值
        t = w / i;
    }
//进行判断t值范围,从而输出结果
if (t < 18) { printf("你也太苗条了吧,是时候要让自己吃的更好一点了n"); } else if (18 <= t && t< 25) { printf("很不错喔,和李同学一样的标准体重喔,请继续保持!n"); } else if (25 <= t && t< 27) { printf("这位同学你似乎有点壮喔,超出标准体重一点点喔,请注意饮食!n"); } else if (t >= 27) { printf("这位同学,从今天开始就把自己的饮食控制好吧,从此变身万人迷!!n"); } else { printf("请不要戏弄我!!"); } printf("欢迎您再次运行本程序,谢谢"); }

在这里就给出一组运行结果就好了:

  如果需要判定输入是否为正数时,可以在最外层再套一层判定,因为李同学没有实验过,欢迎纠错!感谢!

难度指数:一颗星

欢迎给出最优解!!

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/lifser/p/15024221.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!

相关课程

4781 0元 限免