1.分段函数
#include <stdio.h>
int main() {
int x;
// 提示用户输入一个整数
printf("请输入一个整数 x: ");
scanf("%d", &x);
// 根据 x 的值进行计算
if (x < -10) {
x = 10;
} else if (x >= -10 && x <= 10) {
x = 0;
} else if (x > 10) {
x = -10;
}
// 输出计算结果
printf("计算结果为: %d\n", x);
return 0;
}
2.用户输入类型的判断
#include <stdio.h>
int main() {
char ch;
// 提示用户输入一个字符
printf("请输入一个字符: ");
scanf("%c", &ch);
// 判断字符的类型
if (ch >= '0' && ch <= '9') {
printf("输入的字符是数字。\n");
} else if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) {
printf("输入的字符是字母。\n");
} else if (ch == ' ') {
printf("输入的字符是空格。\n");
} else {
printf("输入的字符是其他字符。\n");
}
return 0;
}
3.BMI值及身体状态的计算
#include <stdio.h>
int main() {
float weight, height, bmi;
// 提示用户输入体重和身高
printf("请输入体重(千克): ");
scanf("%f", &weight);
printf("请输入身高(米): ");
scanf("%f", &height);
// 计算BMI值
bmi = weight / (height * height);
// 输出BMI值
printf("您的BMI值为: %.2f\n", bmi);
// 根据BMI值判断身体状态
if (bmi < 18.5) {
printf("身体状态: 消瘦\n");
} else if (bmi >= 18.5 && bmi < 24.9) {
printf("身体状态: 正常\n");
} else if (bmi >= 24.9 && bmi < 29.9) {
printf("身体状态: 超重\n");
} else {
printf("身体状态: 肥胖\n");
}
return 0;
}
4.收银结算
(1)if-else
#include <stdio.h>
int main() {
float money, discount, result;
// 提示用户输入购物金额
printf("请输入购物金额(元): ");
scanf("%f", &money);
// 根据购物金额计算折扣
if (money >= 4000) {
discount = 0.8; // 八折
} else if (money >= 3000) {
discount = 0.85; // 八五折
} else if (money >= 2000) {
discount = 0.9; // 九折
} else if (money >= 1000) {
discount = 0.95; // 九五折
} else {
discount = 1.0; // 不打折
}
// 计算实际付款金额
result = money * discount;
// 输出结果
printf("实际付款金额: %.2f 元\n", result);
return 0;
}
(2)switch
#include <stdio.h>
int main() {
float money, discount, result;
int range;
// 提示用户输入购物金额
printf("请输入购物金额(元): ");
scanf("%f", &money);
// 将金额范围映射到整数值
if (money >= 4000) {
range = 4;
} else if (money >= 3000) {
range = 3;
} else if (money >= 2000) {
range = 2;
} else if (money >= 1000) {
range = 1;
} else {
range = 0;
}
// 使用 switch 语句确定折扣
switch (range) {
case 4:
discount = 0.8; // 八折
break;
case 3:
discount = 0.85; // 八五折
break;
case 2:
discount = 0.9; // 九折
break;
case 1:
discount = 0.95; // 九五折
break;
default:
discount = 1.0; // 不打折
break;
}
// 计算实际付款金额
result = money * discount;
// 输出结果
printf("实际付款金额: %.2f 元\n", result);
return 0;
}