输出7和7的倍数,还有包含7的数字例如(17,27,37...70,71,72,73...)。
【输入】一个整数 N。(N不大于30000)
【输出】从小到大排列的不大于N的与7有关的数字,每行一个。
【输入范例】20
【输出范例】7 14 17
程序代码:
#include<stdio.h>
int main()
{
int N,i,m,a[5]; //N为输入的数,m是中间变量,数组a[]用来存储输入的数的每一位数
scanf("%d",&N); //输入N
for(i=7;i<=N;i++) //因为最小为7,所以从7开始遍历
{
if(i%7==0) //判断,如果是7的倍数,就输出
{
printf("%d\n",i); //输出7的倍数
}
m=i; //如果i不是7的倍数,将i的值赋给m
for(int j=0;j<5;j++) //取该数的每一位,因为输入的数最大为5位数,所以j的取值是从0到5
{
a[j]=m%10; //数组a[]用来存储输入的数的每一位数,首先用m%10来对该数进行取余
m=m/10; //然后用m/10来进行取商
if((i%7!=0)&&(a[j]==7)) //判断,如果不是7的倍数并且含有7,就输出
{
printf("%d\n",i); //输出
}
}
}
return 0;
}