如何编写程序“输出1~999中能被3整除,而且至少有一位数字是5的所有数字”?

如题所述

#include <iostream>

using namespace std;

bool fun(int x);

int main()

{

 for (int i=1;i<1000;i++)

 {

  if (i%3==0 && fun(i))

   cout<<i;

  cout.width(5);//控制宽度

 }

  cout<<endl;

 return 0;

}

bool fun(int x)//至少有一个数字能被5整除

{

 int sum=0;

 for (x;x>0;)

 {

  if (x%5==0)//从右到左若有一个数字被5整除sum即为非0

   sum++;

  x/=10;

 }

 if (sum==0)

  return false;

 else

  return true;

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-07
建议:
1,你先写一个函数用于判断能否被3整除
2,接着编写一个函数用于判断是否含有数字5,
具体细节如下:假设数为x,先将x对10取余,可得到个位数字(假设为m),用m对5整除,如果不成功,再将x对100取余得到余数(假设为n),要知道n是个十位数,它的个位数一定是m,所以用n-m对50整除,如果还不成功,在对1000取余,依次类推,再按照之前的方法依次判断,无论多大的数都可以判断出来的
提示:最好先确定x的范围,1--9之间,还是10--99之间,还是100---999之间,然后再判断是否含有数字5,那样可以极大的提高程序运行的效率……本回答被提问者和网友采纳
第2个回答  2011-04-08
clude<stdio.h>
int main()
{
int i;
for(i=1;i<=999;i++){
if(i%3==0&&((i%10==5)||(i/10)%10==5||(i/100)%10==5)) printf("%d\t",i);
}
}
i%10==5)||(i/10)%10==5||(i/100)%10==5分别判断个位十位百位是否5

如何编写程序“输出1~999中能被3整除,而且至少有一位数字是5的所有数字...
include <iostream> using namespace std;bool fun(int x);int main(){ for (int i=1;i<1000;i++){ if (i%3==0 && fun(i))cout<<i;cout.width(5);\/\/控制宽度 } cout<<endl;return 0;} bool fun(int x)\/\/至少有一个数字能被5整除 { int sum=0;for (x;x>0;){ if (...

c++:输入1~999中能被3整除,而且至少有一位数字是5的所有数字
if(i%3==0&&(a1==5||a2==5||a3==5))cout<<i<<" ";}

...999中能被3整除,而且至少有一位数字是5的所有数字。
int main(){ int i;for(i=1;i<=999;i++){ if(i%3==0&&((i%10==5)||(i\/10)%10==5||(i\/100)%10==5)) printf("%d\\t",i);} } i%10==5)||(i\/10)%10==5||(i\/100)%10==5分别判断个位十位百位是否5

...设计输出1—999中能被3整除,而且至少有一位数字是5的所有数。
include <vector> void main(){ std::vector<int> Vint;int i,j;for(i=0;i<999;i++)if (i%3==0)Vint.push_back(i);for (i=0;i<Vint.size();i++){ j=Vint[i];while(j!=0){ if (j%5==0 && j%10!=0){ printf("%d \\t",Vint[i]);break;} j=j\/10;} } } ...

求1到999能被3整除,且至少有一位数字是5的所有正整数的个数
一共有91个。实现的C++程序如下:void testcode9(){ int count = 0;for (int i = 1; i <= 999; i++){ bool condition = ((i % 10) == 5) || (((i \/ 10) % 10) == 5) || (((i \/ 100) % 10) == 5);if (condition && (i % 3 == 0)){ cout << i <<...

输出1~999中所有能被三整除且至少有一位是5的所有数字 要 C语言编程...
程序很简单,加了必要的注释,相信你可以很容易的理解的,代码如下,仅供参考:include "stdio.h"include "stdlib.h"include "string.h"void main(){ int i,n=0;char a[3];for(i=1;i<=999;i++)if(i%3==0){\/\/判断可以被三整除 itoa(i,a,10);\/\/将整型数据转换成字符串,便于查看...

c语言输出1—999中能被3整除,而且至少有一位数字是5的所有数字
int main(){ int a, b, c;for(a = 0; a < 10; ++a) { for(b = 0; b < 10; ++b) { for(c=0; c < 10; ++c) { if(a == 0 && b == 0 && c == 0) { continue;} else if((a+b+c)%3 == 0 && (a == 5 || b == 5 || c == 5)) { printf("...

用c++编出1~599中能被3整除,且至少有一位数字为5的所有整数
代码如下:include<stdio.h> int main(){ int i=1,n=0,a,b,c;for(i=1;i<600;i++){ a=i\/100;b=(i%100)\/100;c=(i%100)%10;if(i%3==0&&(a==5||b==5||c==5)){ printf("%4d",i);n++;if(n%6==0)printf("\\n");} } printf("\\n%d",n);return 0;} ...

用C语言,求出1-1000中能被3整除,但不能被7整除,且至少有一位数为5...
\/* Note:Your choice is C IDE *\/ include "stdio.h"void main(){ int i=15,j=0;for(;i<1001;i++)if(i%3==0&&i%7!=0&&(i%10==5||i\/10==5||i\/100==5)){ printf("%d ",i);if(++j>4) {j=0;printf("\\n");} } } 结果如图。

求能被3整除且至少有一位数字为5的三位数的个数 ,vb程序
如下:Sub 宏1()n = 0For i = 100 To 999 a = Int(i \/ 100) b = Int((i - a * 100) \/ 10) c = Int(i - a * 100 - b * 10) If a = 5 Or b = 5 Or c = 5 Then n = n + 1 End IfNextMsgBox "带5 的三位数共有" & n & "位"End ...

相似回答