例子:

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

  • 体质指数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("欢迎您再次运行本程序,谢谢");
}

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

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

难度指数:一颗星

欢迎给出最优解!!

利用C语言判定用户输入数据从而给出结果(利用判定用户体重范围)同求最优解!!!的更多相关文章

  1. 利用try-catch代码检查用户输入数据是否是有效的浮点数超级详细

    package chapter6; //数据输入格式检查 import java.io.IOException; import java.util.InputMismatchException; im ...

  2. 利用C语言判别用户输入数的奇偶性和正负性

    要求:利用C语言判别用户输入数的奇偶性和正负性 提示:可以利用%求余数来判别 由题可知 我们需要if..else的结构来实现区分奇偶和正负 区分奇偶我们可以用: if (a % 2 == 0) { p ...

  3. 利用C语言判别输入数的位数并正逆序输出

    利用C语言判别用户输入数的位数并正逆序输出 #include <stdio.h> void main() {        int i, scanfNum, printfNum, temp ...

  4. 利用C语言结构体模拟一个简单的JavaBean

    利用C语言模拟一个Javabean 仅封装了,“无参构造函数”,“带参构造函数”,"toString方法" #include <stdio.h> struct User ...

  5. 利用UML语言建模--以图书馆管理系统为例

    一.基本信息 标题:利用UML语言建模--以图书馆管理系统为例 时间:2016 出版源:内蒙古科技与经济 领域分类:UML:RFID:图书馆:模型: 二.研究背景 问题定义:建立图书馆管理系统 难点: ...

  6. 利用R语言打造量化分析平台

    利用R语言打造量化分析平台 具体利用quantmod包实现对股票的量化分析 1.#1.API读取在线行情2.#加载quantmod包3.if(!require(quantmod)){4. instal ...

  7. 利用R语言进行交互数据可视化(转)

    上周在中国R语言大会北京会场上,给大家分享了如何利用R语言交互数据可视化.现场同学对这块内容颇有兴趣,故今天把一些常用的交互可视化的R包搬出来与大家分享. rCharts包 说起R语言的交互包,第一个 ...

  8. 第二次作业利用java语言编写计算器进行四则运算

    随着第一次作业的完成,助教 牛老师又布置了第二次作业:用java语言编写一个程序然后进行四则运算用户用键盘输入一个字符来结束程序显示统计结果.一开始看到这个题目我也着实吓了一跳 因为不知道如何下手而且 ...

  9. 利用C语言编辑画图程序的实现方法

    不知道大家在进行开发县级电网调度自动化系统的时候,是否都会遇到一个问题就是:要绘制一个电力系统一次接线图.大家都应该知道其实电力系统的一次接线图是较为复杂的,如果想要使用一般的编程方法来进行绘制的话, ...

随机推荐

  1. SpringBoot实现整合mybatis-generator-maven-plugin 1.4.0

    创建 Maven 工程 网上有很多教程且 Idea 可以直接创建 这里就不进行 pom.xml 引入依赖和插件 pom中generalto-maven-plugs中必须指定mysql驱动,并且明确版本 ...

  2. 出现异常org.yaml.snakeyaml.parser.ParserException: while parsing a block mapping

    这是因为yaml的配置文件格式出错导致的异常 原代码,仔细看数据源的配置没有和type的路径一致,而是下一级的目录,所以导致出错 使用shift+tab快捷键向左移动改变下就好了 最后成功运行

  3. python异步编程之asyncio

    python异步编程之asyncio   前言:python由于GIL(全局锁)的存在,不能发挥多核的优势,其性能一直饱受诟病.然而在IO密集型的网络编程里,异步处理比同步处理能提升成百上千倍的效率, ...

  4. Step By Step(Lua弱引用table)

    Step By Step(Lua弱引用table) Lua采用了基于垃圾收集的内存管理机制,因此对于程序员来说,在很多时候内存问题都将不再困扰他们.然而任何垃圾收集器都不是万能的,在有些特殊情况下,垃 ...

  5. ML Pipelines管道

    ML Pipelines管道 In this section, we introduce the concept of ML Pipelines. ML Pipelines provide a uni ...

  6. Angel图算法

    Angel图算法 [2.0]CommonFriends 计算两个好友的共同好友数,某种程度上可以刻画两个节点之间的紧密程度. 输入 输入数据路径:输入文件所在路径,无权网络数据, 数据格式为两列 sr ...

  7. AlexeyAB DarkNet YOLOv3框架解析与应用实践(一)

    AlexeyAB DarkNet YOLOv3框架解析与应用实践(一) Darknet:  C语言中的开源神经网络 Darknet是一个用C和CUDA编写的开源神经网络框架.它速度快,易于安装,支持C ...

  8. ONNX 实时graph优化方法

    ONNX 实时graph优化方法 ONNX实时提供了各种图形优化来提高模型性能.图优化本质上是图级别的转换,从小型图简化和节点消除,到更复杂的节点融合和布局优化. 图形优化根据其复杂性和功能分为几个类 ...

  9. Tensor Core技术解析(上)

    Tensor Core技术解析(上) NVIDIA在SIGGRAPH 2018上正式发布了新一代GPU架构--Turing(图灵),黄仁勋称Turing架构是自2006年CUDA GPU发明以来最大的 ...

  10. 如何实现一个简易版的 Spring - 如何实现 AOP(终结篇)

    前言 在 上篇 实现了 判断一个类的方式是符合配置的 pointcut 表达式.根据一个 Bean 的名称和方法名,获取 Method 对象.实现了 BeforeAdvice.AfterReturni ...