问题:
判断a~b(包含a,b)中含7的数字或可以被7整除的数字。
思路:
- for循环,进行遍历判断。
- 让判断两个情况,含7,或者可以被7整除的。
- 因此循环中两个if判断语句,一个是可以被7整除,另一个则是含7的。
- 可以被7整除的话,直接让遍历的值,对7求余,且所遍历的值不能为0——if(i%7==0&&i!=0),打印输出即可。
- 含7的,则需要对位数进行遍历,先定义一个变量,让其等于需要判断的整数,用于遍历位数、之后,进行遍历,当值不为0时,一直对位数进行判断,用k=n%10,取下来一位,然后对k进行判断。如果k==7,则输出i。
代码如下:
#include<stdio.h>
int main()
{
int a,b;
printf("输出a,b,分别表示开头和结尾\n");
scanf("%d %d",&a,&b);
int i;
for(i=a;i<=b;i++)
{
if(i%7==0&& i!=0) //可以被7整除的情况
printf("%d ",i);
else //位数含7的情况
{
int n =i;//临时变量,用于遍历位数用
while(n