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

要用for,while,do-while语句实现多重循环,不能用数组,急!!!哪位高手帮帮忙。要用到提示里的东西!!提示:一个整数a,使用a%10,可以得到a的个位数,然... 要用for,while,do-while语句实现多重循环,不能用数组,急!!!哪位高手帮帮忙。要用到提示里的东西!!
提示:一个整数a,使用a%10,可以得到a的个位数,然后使用a=a/10,可以将a中的个位数字除去。
这是我自己编的,不知道为什么,运行有问题……来个大神救下我,谢谢2楼的提醒,但是程序还是不正常,for,do-while,while选择性使用,不用全用
#include <stdio.h>
main()
{
int a,b;
for(a=1;a<=9999;a++)
{
if(a%7==0)
{
if(a>=10&&a<100)
{
b=a%10;
if(b==5)
printf("%d",a);
else
{
a=a/10;
b=a%10;
if(b==5)
printf("%d",a);
}
}
if(a>=100&&a<1000)
{
b=a%10;
if(b==5)
printf("%d",a);
else
{
a=a/10;
b=a%10;
if(b==5)
printf("%d",a);
else
{
a=a/10;
b=a%10;
if(b==5)
printf("%d",a);
}
}
}
if(a>=1000&&a<10000)
{
b=a%10;
if(b==5)
printf("%d",a);
else
{
a=a/10;
b=a%10;
if(b==5)
printf("%d",a);
else
{
a=a/10;
b=a%10;
if(b==5)
printf("%d",a);
else
{
a=a/10;
b=a%10;
if(b==5)
printf("%d",a);
}
}
展开
 我来答
琉璃樱c9Tv6
推荐于2017-11-22 · TA获得超过776个赞
知道答主
回答量:42
采纳率:0%
帮助的人:69.3万
展开全部
#include <stdio.h>
#include <conio.h>

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了。一个小错误让我调试了很久。
天罡炙火
2009-11-10 · TA获得超过411个赞
知道答主
回答量:152
采纳率:100%
帮助的人:31.3万
展开全部
你第一个环节就没有搞懂啊,不是说要有5嘛,那你第一次
if(a%7==0)
{
if(a<10)
printf("%d",a);得到的不是7么
也没见你用do while啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gift925
2009-11-10 · TA获得超过557个赞
知道小有建树答主
回答量:659
采纳率:0%
帮助的人:501万
展开全部
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<<i<<endl;
}
else
{
cout<<i<<" ";
}
break;
}
else
{
j=(j-(j%10))/10;
}
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式