C语言中的if~else if~else语句

41 阅读2分钟

if...else if...else语句适用于需对多个条件进行判断,进而执行相应的情景。

用if...else if...else语句来写代码如下:


#include <stdio.h>
int main (){
int score = 0;
printf("请输入一个分数:");
scanf("%d",&score); 
if(score >= 0 &&score<=100){
	if(score >= 90 && score <= 100){printf("优秀 \n");	}
	else if(score >= 80 && score <= 89){printf("良好 \n");	}
	else if(score >= 70 && score <= 79){printf("中等 \n");	}
	else if(score >= 60 && score <= 69){printf("及格 \n");	}
	else{printf("不及格 \n");	} 
	}else{
	printf("错误 \n");
	}    
} 

编译结果如下:

image.png

练习

用 if....else if...else语句来写等边三角形,等腰三角形和普通三角形

代码如下:

#include <stdio.h>
	int main(){	
		int a,b,c;
		printf("\n 请输入第一条边:");
		scanf("%d",&a); 
		printf("\n 请输入第二条边:");
		scanf("%d",&b); 
		printf("\n 请输入第三条边:");
		scanf("%d",&c); 
		
		
		if(a+b>c && a+c>b && b+c>a){
			if(a==b && b==c && a==c){
				printf("等边三角形 \n");
			}else if (a == b||a==c||b==c){
					printf("等腰三角形\n");
			}else {
				printf ("普通三角形\n");
			}
		
	}else{
			printf("不是一个三角形\n");
		} 
	}

运行结果如下:

image.png

用if...else if...else语句写代码:

题目如下:

当你去超市购物时满5000元时打6折扣;当购物满3000元时打7折扣;当购物满2000元时打8折扣;当购物满1000元时打9折扣.

代码如下:


#include <stdio.h>

int main() {
    float amount;  // 消费金额
    float discount = 1.0;  // 折扣比例,默认为1(不打折)
    
    // 提示用户输入消费金额
    printf("请输入您的消费金额(元):");
    scanf("%f", &amount);
    
    // 使用if...else语句判断折扣等级
    if (amount >= 5000) {
        discount = 0.6;  // 满5000元打6折
    } else if (amount >= 3000) {
        discount = 0.7;  // 满3000元打7折
    } else if (amount >= 2000) {
        discount = 0.8;  // 满2000元打8折
    } else if (amount >= 1000) {
        discount = 0.9;  // 满1000元打9折
    }
    
    // 计算实际支付金额
    float final_amount = amount * discount;
    
    // 显示结果
    printf("\n您的原始消费金额:%.2f元\n", amount);
    printf("适用折扣:%.0f折\n", discount * 10);
    printf("最终支付金额:%.2f元\n", final_amount);
    
    return 0;
}

运行结果如下:

{32BD055A-8E2D-46CA-A718-C573CCECFBEF}.png