Bootstrap

【swtich】

目录

作业:

答案:

分析:

注意:

学习switch

1.switch的结构

分析:

练习:

运行结果:

作业


老样子作业先行

作业:

#include<stdio.h>
int main(){
	int n=3,sum=0;
	while(n!=100){
		if(n%10==3){
			sum++;
			n++;
			continue;
		}
		else if(n/10==3){
			sum++;
			n++;
			continue;
		}
		else if((n/10==3)&&(n%10==3)){
			sum--;
			n++;
			continue; 
		}
		n++;
	}//3,13,23,30-39,43,53,63,73,83,93
	printf("%d",sum);
	return 0;
}

答案:

我们来检验一下是否正确

3,13,23,30-39,43,53,63,73,83,93,正好是19个

我们来解读一下代码

分析:

由于只有前100个数并且100不满足所以所有需要判断的数都是两位数,第一个满足的数是3,所以简化代码直接从3开始。取余是判断个位数,除10就是判断十位数

注意:

有的数两个条件都满足 所以单独判断例如:33. 所以要减去这样的数。

学习switch

1.switch的结构

#include <stdio.h>
int main(){
    switch (grade){
        case 1:
            //语句1 
            break;
        case 2:
        	//语句2 
        	break;
        default:
        	//语句 3
    }
    return 0;
}

分析:

多种选择:满足1,执行1并且打破,以此类推,如果给出的选择都不满足就执行default的语句

练习:

我们写一个判断成绩等级的代码

#include <stdio.h>
int main(){
    char grade;
	scanf("%c",&grade);
    switch (grade){
        case 'A':
            printf("最强的!\n");
            break;
        case 'B':
        	printf("不错的!\n");
        	break;
        case 'C':
            printf("及格啦!\n");
            break;
        case 'D':
            printf("不及格!\n");
            break;
        case 'F':
            printf("太次了!\n");
            break;
        default:
            printf("未评上级别!\n");
    }
    printf("您的成绩是 %c!\n", grade);
    return 0;
}

我写的很简单以此判断,直接看运行结果

运行结果:

作业

留一个作业判断星期几

要求:使用switch不要使用if

ps:switch在不讲同学们快忘记if的弊端了

多个if语句可能会出现的问题,可以考虑使用switch,我们找个时间学习一下switch的语句和if的区别

;