if的应用
定义正方形与长方形的边长并比较正方形与长方形的面积大小
#include <stdio.h>
#include <stdlib.h>
int main() {
int a, b, c;
int scan_result;
printf("请输入正方形的边长a,以及长方形的长b和宽c(用空格分隔):");
// 读取输入并验证格式是否正确
scan_result = scanf("%d %d %d", &a, &b, &c);
// 检查输入是否合法(格式正确且数值为正数)
if (scan_result != 3) {
printf("输入格式错误!请输入三个整数(用空格分隔)。\n");
return 1; // 异常退出
}
if (a <= 0 || b <= 0 || c <= 0) {
printf("输入错误!边长和长宽必须为正整数。\n");
return 1; // 异常退出
}
// 计算面积并比较
int square_area = a * a;
int rect_area = b * c;
if (square_area > rect_area) {
printf("正方形面积更大(%d > %d)\n", square_area, rect_area);
} else if (square_area < rect_area) {
printf("长方形面积更大(%d < %d)\n", square_area, rect_area);
} else {
printf("两者面积一样大(%d = %d)\n", square_area, rect_area);
}
return 0;
}
if的嵌套应用
超市满1000元打9折,满2000元打8折,满3000元打7折,满5000元打6折,否则不打折。
输入购物金额,计算实际支付金额
#include<stdio.h>
#include <stdlib.h>
int main(){
// 超市满1000元打9折,满2000元打8折,满3000元打7折,满5000元打6折,否则不打折
// 输入购物金额,计算实际支付金额
int a;
float payment;
printf("请输入购物金额:");
scanf("%d", &a);
if(a >= 5000){
payment = a * 0.6;
printf("打6折! \n");
printf("打折后金额是:%.2f\n", payment);
} else { // 不满5000,判断是否满3000
if(a >= 3000){
payment = a * 0.7;
printf("打7折! \n");
printf("打折后金额是:%.2f\n", payment);
} else { // 不满3000,判断是否满2000
if(a >= 2000){
payment = a * 0.8;
printf("打8折! \n");
printf("打折后金额是:%.2f\n", payment);
} else { // 不满2000,判断是否满1000
if(a >= 1000){
payment = a * 0.9;
printf("打9折! \n");
printf("打折后金额是:%.2f\n", payment);
} else {
printf("低于1000不打折!\n");
printf("金额是: %d\n", a);
}
}
}
}
return 0;
}