选择语句if及其嵌套的应用

19 阅读2分钟

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;
}