用c语言代码写这道题 :输出1——999中能被3整除,且至少有一位数字是5的数

来源:百度知道 编辑:UC知道 时间:2024/07/07 01:20:40

ls的程序有点小问题啊。呵呵。
1.在c语言里是没有bool这个数据类型的。
2.你的IsHaveFive只能算小于1000的整数啊。比较有局限性。
我改动了一下,lz看看。程序在vc6通过编译。
#include <stdio.h>
int IsHaveFive( int n )
{
int k;
do
{
k=n-n/10*10;
n/=10;
if(k==5)
return 1;

}while(k);

return 0;
}

void main()
{

int i = 0;
for( i = 1; i < 1000; i++ )
if( i % 3 == 0 && IsHaveFive( i ) )
printf("%d\n", i);
}

bool IsHaveFive( int n )
{
int hun = n / 100;
int ten = (n % 100)/ 10;
int dig = n % 10;

if( hun == 5 || ten == 5 || dig == 5 )
{
return true;
}

return false;
}

void main()
{

int i = 0;
for( i = 1; i < 1000; i++ )
{
if( i % 3 == 0 && IsHaveFive( i ) )
{
printf("%d\n", i);
}
}
}

15、45、75.105,······