输入一个小于 1000的自然数,输出小于该自然数且数字中含有 “3” 的所有数。
要求:不分行、连续显示,相邻两数间隔 22 个空格,具体显示格式参见样例。
输入格式
2∼1000 之间的自然数
输出格式
小于输入数且数字中含有 “3” 的所有数
输出时每行末尾的多余空格,不影响答案正确性
样例输入
36
样例输出
3 13 23 30 31 32 33 34 35
每一位都拿出来判断是否等于3,取模取余操作
法一
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
for(int i=2;i<n;i++){
if(i%10==3||(i/10)%10==3||i/100==3){
printf("%d ",i);//注意是两个空格
}
}
return 0;
}
法二
每次拿出后面一位判断
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
for(int i=2;i<n;i++){
int j=i;
while(j!=0){//这里千万不要直接使用 i
if(j%10==3){
printf("%d ",i);//输出当前数字
break;//找到了就提出循环
}
j=j/10;//不断更新后面一位
}
}
return 0;
}