目录
老样子作业先行
作业:
#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的区别