文章目录
- 前言
- 一、条件语句是什么?
- 二、流程图
- 三、例题
前言
在顺序结构程序中,程序的流程是固定的,不能跳转,只能按照书写的先后顺序逐条逐句地执行。所以一旦发生特殊情况(例如发现输入的数据不合法等),将无法进行特殊处理,而且在实际问题中,有很多时候需要根据不同的判断条件执行不同的处理步骤。例如1.根据“体指数”,判断某人的体重类型(正常、低、超重、肥胖)。
2.如果输入的三角形三边能构成一个三角形,则计算三角形的面积。
一、三种形式的条件语句
(1)if形式:if(表达式p) 可执行语句A
(2)if-else形式: if(表达式p)可执行语句1 else 可执行语句2
(3)else-if形式:if(表达式1)可执行语句1
else if(表达式2)可执行语句2
……
else if(表达式m)可执行语句m
else 可执行语句m+1
二、流程图
三.例题
1.体型判断
判断某人是否属于肥胖体型。根据身高与体重因素,医务工作者经广泛的调查分析给出了以下按“体指数”对肥胖程度的划分: 体指数t=w/h2(w为体重,单位为kg;h为身高,单位为m)
当t < 18时,为低体重;
当18≤t<25时,为正常体重;
当25≤t<27时,为超重体重;
当t≥27时,为肥胖。
编程从键盘输入被测人的身高 h 和体重 w,根据给定公式计算体指数 t,然后判断被测人的体重属于何种类型。
测试输入:1.60,40
;
预期输出: 170.817261
代码如下
#include <stdio.h>
int main(void)
{
float h, w, t;
scanf("%f,%f",&h,&w);
t=w/(h*h);
printf("Please enter h,w:t=%f ",t);
if(t<18)
{
printf("Lower weight!",t);
}
else if(t>=18 && t<=25)
{
printf("Standard weight!",t);
}
else if(t>25 && t<27)
{
printf("Higher weight!",t);
}
else
{
printf("Too fat!",t);
}
return 0;
}
2.数数的手指
一个小女孩正在用左手手指数数,从1到n。她从拇指算作 1 开始数起,然后食指为 2,中指为 3,无名指为 4,小指为 5。接下来调转方向,无名指算作 6,中指为 7,食指为 8,大拇指为 9,接下来食指算作 10,如此反复。问如果继续这种方式数下去,最后结束时是停在哪根手指上?
测试输入 : 1000
预期输出 :食指
代码如下
#include<stdio.h>
int main(void)
{
int n, mod;
printf("Input error!");
scanf("%d", &n);
mod = n % 8;
switch (mod)
{
case 0:
printf("食指");
break;
case 1:
printf("大拇指");
break;
case 2:
printf("食指");
break;
case 3:
printf("中指");
break;
case 4:
printf("无名指");
break;
case 5:
printf("小指");
break;
case 6:
printf("无名指");
break;
case 7:
printf("中指");
break;
}
return 0;
}