#include <iostream.h>
int fun(int i)
{ int temp;
while(i> 10)
{ temp=i%10;
if(temp==7)
return 1;
i=i/10;
} if(i!=7)
return 0;
}
void main()
{ int N;
cout<<"请输入一个正整数:"<<endl;
cin>>N;
for(int i=7;i <N;i++)
{ if(i%7==0||fun(i))
cout<<i<<" "; }
}
这个程序是从小到大输出满足如下条件的整数:① 是7和7的倍数② 包含7的数字③ ≤ N,N为给定的正整数。为什么当N大于几万的时候输出的符合条件的数只有一部分,从几千开始,不能全部显示出来?大神们看看怎么修改??
int fun(int i)
{ int temp;
while(i> 10)
{ temp=i%10;
if(temp==7)
return 1;
i=i/10;
} if(i!=7)
return 0;
}
void main()
{ int N;
cout<<"请输入一个正整数:"<<endl;
cin>>N;
for(int i=7;i <N;i++)
{ if(i%7==0||fun(i))
cout<<i<<" "; }
}
这个程序是从小到大输出满足如下条件的整数:① 是7和7的倍数② 包含7的数字③ ≤ N,N为给定的正整数。为什么当N大于几万的时候输出的符合条件的数只有一部分,从几千开始,不能全部显示出来?大神们看看怎么修改??
