输出从1到9999中能被7整除,而且至少有一位数字是5的所有数字

2024-10-29 13:48:38
推荐回答(3个)
回答1:

#include
#include

void main()
{ int i,j,k,count=0;
for(i=1;i<10000;i++)
{ if(i%7==0)
{ k=i;
do
{ j=k%10;
if(j==5)
{ printf("%d ",i);
count++;
break;
}
k=k/10;
}while(k!=0);
}
}
printf("\n%d",count);
getch();
return;
}
不懂可以继续问我。
我这个算法看起来比较短,比较简便。
但是理解起来也会比较难。
好久没写C了。一个小错误让我调试了很久。

回答2:

你第一个环节就没有搞懂啊,不是说要有5嘛,那你第一次
if(a%7==0)
{
if(a<10)
printf("%d",a);得到的不是7么
也没见你用do while啊

回答3:

int nCount1=0;
for(int i=1;i<10000;i++)
{
if(i%7==0)
{
int j=i;
while(j%10!=0)
{
if(j%10==5)
{
nCount1++;
if(nCount1%5==0)
{
cout< }
else
{
cout< }
break;
}
else
{
j=(j-(j%10))/10;
}
}
}
}