Hello!彦祖们,俺又回来了!!!,继续给大家分享 《C语言从不挂科到高绩点》课程,前面课程中给大家讲解了一些常规的知识点,那么本次课,我们一起来练习挑战一下!!
本套课程将会从0基础讲解C语言核心技术,适合人群:
- 大学中开设了C语言课程的同学
- 想要专升本或者考研的同学
- 想要考计算机等级证书的同学
- 想要从事C/C++/嵌入式开发的同学
================点个关注吧================
=========================================
f 2.1 乐谱商店消费问题
某乐谱商店需要一个程序来实现其为音乐老师定制的折扣政策。
程序需要提示用户输入购买总额,并表明自己是不是音乐教师。
如果是音乐教师在购买不超过 100 元的乐谱时享受 10%的折扣。等于或者超过 100 元时折扣为 12%
如果不是音乐老师,则不享受此项折扣
无论是否是音乐老师,都需要征收 5%的税款。折扣在征收 5%的税款之前计算。
程序打印效果如下:
如果是音乐老师:
消费金额: 122.00
音乐老师折扣 (12%): 14.64
折扣后金额: 107.36
征收税款(5%):5.37
最终支付金额: 112.73
如果是非音乐老师
消费金额: 24.90
征收税款(5%):1.25
最终支付金额: 26.15
【参考代码】
/**
某乐谱商店需要一个程序来实现其为音乐老师定制的折扣政策。
程序需要提示用户输入购买总额,并表明自己是不是音乐教师。
如果是音乐教师在购买不超过 100 元的乐谱时享受 10%的折扣。
等于或者超过 100 元时折扣为 12%
如果不是音乐老师,则不享受此项折扣
无论是否是音乐老师,都需要征收 5%的税款。折扣在征收 5%的税款之前计算。
**/
#include <stdio.h>
int main(){
// 程序需要提示用户输入购买总额,并表明自己是不是音乐教师
// 输入总额,还有是不是音乐老师
float money = 0;// 消费的总额
printf("请输入消费的总额:");
scanf("%f",&money);
char role = 0; // 是否是音乐老师
printf("请问是否是音乐老师(y/n):");
getchar();// 能接收字符,上一步输入内容之后,会敲换行,需要用getchar将换行符读走
// 否则scanf扫描的是换行符,就会认为你已经输入内容了,此时不会让你再输了
scanf("%c",&role);
// 如果是音乐教师在购买不超过 100 元的乐谱时享受 10%的折扣。
// 等于或者超过 100 元时折扣为 12%
float zk = 0; // 折扣
float zkmoney = 0; // 折扣后的金额
// 如果role=='y' 是音乐老师
if(role=='y'){
//购买不超过 100 元的乐谱时享受 10%的折扣。
if(money<100){
// 算出折扣
zk = money*0.1;
// 算出折扣之后的金额
zkmoney = money-zk;
}else{
//等于或者超过 100 元时折扣为 12%
// 算出折扣
zk = money*0.12;
// 算出折扣之后的金额
zkmoney = money-zk;
}
//都需要征收 5%的税款。折扣在征收 5%的税款之前计算
float sk = zkmoney*0.05;
//算出最终需要付的金额
float pay = zkmoney+sk;
printf("消费的金额:%.2f\n",money );
if(money<100){
printf("音乐老师的折扣(10%%):%.2f\n", zk);
}else{
printf("音乐老师的折扣(12%%):%.2f\n", zk);
}
printf("折扣后的金额:%.2f\n",zkmoney);
printf("征收的税款(5%%):%.2f\n",sk );
printf("最终支付的金额:%.2f\n", pay);
}else{
// 不是音乐老师
printf("消费的金额:%.2f\n",money );
printf("征收的税款(5%%):%.2f\n",money*0.05 );
printf("最终支付的金额:%.2f\n", money+money*0.05);
}
return 0;
}
f 2.2 BMI 健康指数计算器
编写一个程序,计算用户的体重指数(BMI),
并根据从美国疾病控制中心获得下列表格数据,将其划分为“偏轻”、“正常”、“超重”、“肥胖”
BMI 计算公式: 体重(kg)/身高(m)/身高(m)