分支结构练习题
第一道题
输入你的身高和体重,测试你的健康状况
计算bmi的值, bmi = (体重(kg)/⾝⾼(m)的平⽅) 如果bmi ⼩于18.5,则显⽰“偏瘦,注意加强营养” 如果bmi 在18.5和23.9之间,则显⽰“体重指数良好,注意保持” 如果bmi值⼤于23.9 ,则显⽰“你有点偏胖,注意锻炼”
代码:
#include <stdio.h>
int main()
{
//定义三个变量:体重,身高,健康指数
float weight, height, bmi;
// 提示用户输入体重和身高
printf("请输入体重(kg):\n");
scanf("%f", &weight);
printf("请输入身高(m):\n");
scanf("%f", &height);
// 计算BMI值
bmi = weight / (height * height);
// 根据BMI值给出建议
if (bmi < 18.5)
{
printf("偏瘦,注意加强营养\n");
}
else if (bmi >= 18.5 && bmi <= 23.9)
{
printf("体重指数良好,注意保持\n");
}
else
{
printf("你有点偏胖,注意锻炼\n");
}
printf("你的健康指数是%.2f\n",bmi);
return 0;
}
运行结果:
第二道题
西安市对安装“⼀⼾⼀表”的居⺠⽤⼾按阶梯式累进电价进⾏计收电费,具体⽅案是:
⽉⽤电量低于50千⽡时部分,电价不调整,仍为0.538元/千⽡时;51〜200千⽡时部分, 单价为0.568元/千⽡时;超过200千⽡时部分,电价为0.638元/千⽡时。市区徐某家4⽉份 的⽤电量为96千⽡时,其电费计算:
如下:基本电费部分:96千⽡时×0.538元/千⽡时=51.65元; 超出50千⽡时的调价电费:(96〜50)千⽡时×0.03元/千⽡时=1.38元;电费合计51.65+1.38=53.03元 。 “阶梯式电价”机制可有效地抑制电⼒浪费现象,引导居⺠节约⽤电,合理⽤电,⽐纯粹“⼝号倡导型” 节约⽤电更加有效。 编写⼀个程序根据输⼊的⽤电量,计算电费。
代码:
#include <stdio.h>
int main(int argc,char *argv[])
{
// 定义两个变量,用电量,电费
double sum,bill;
printf("请输入你的用电量:\n");
scanf("%lf",&sum);
// 当用电量超过50不超过200千瓦时的用电费用
if(sum >50 && sum < 200)
{
bill = 50 * 0.538 + (sum - 50) * 0.568;
printf("你的电费是:%.2lf\n",bill);
}
// 当用电量超过或等于200千瓦时的用电费用
else if(sum >= 200)
{
bill = 50 * 0.538 + 150 * 0.568 + (sum - 200) * 0.638;
printf("你的电费是:%.2lf\n",bill);
}
// 当用电量不超过50千瓦时的用电费用
else if(sum <= 50)
{
bill = sum * 0.538;
printf("你的电费是:%.2lf\n",bill);
}
return 0;
}
运行结果
第四道题
出租⻋费计算程序,起步公⾥数3公⾥,⻋费8元,超出3公⾥,每公⾥1.8元,不⾜⼀公⾥,按照1公⾥计算。 如果输⼊⼀个钱数,计算最多能坐多少公⾥,该如何实现?
代码:
#include <stdio.h>
int main(int argc,char *argv[])
{
// 定义三个变量,公里数,钱数,起步价
int k,m;
int s = 8;
printf("请输入您付的钱数:\n");
scanf("%d",&m);
// 当付的钱数小于起步价时,无法乘坐出租车
if (m < s)
{
printf("钱数不够,无法乘车!\n");
}
else if(m == s)
{
printf("您可以乘坐3公里!\n");
}
else if(m > s)
{
int k = (m - s)/ 1.8 + 3;
printf("您最多乘坐的公里数是:%d\n",k);
}
return 0;
}
运行结果
第七道题
实现⼀个简单的计算器,要求根据输⼊的运算符实现相应的运算。(scanf()输⼊有误,在其前或者后增加getchar())
代码:
#include <stdio.h>
int main()
{
double num1, num2, result;
char operator;
// 输入第一个数
printf("请输入第一个数: \n");
scanf("%lf", &num1);
// 输入运算符
printf("请输入运算符 (+ - * /): \n");
scanf(" %c", &operator); // 读取运算符,空格忽略前导空白
// 输入第二个数
printf("请输入第二个数: \n");
scanf("%lf", &num2);
// 根据运算符执行相应的运算
switch (operator)
{
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if (num2 != 0)
{
result = num1 / num2;
}
else
{
printf("除数不能为0,请重新输入第二个数: \n");
scanf("%lf", &num2);
result = num1 / num2;
}
break;
}
// 输出结果
printf("运算结果是: %.2lf\n", result);
return 0; // 返回零表示程序正常结束
}