输出从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);
}
} 展开
提示:一个整数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);
}
} 展开
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了。一个小错误让我调试了很久。
#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了。一个小错误让我调试了很久。
展开全部
你第一个环节就没有搞懂啊,不是说要有5嘛,那你第一次
if(a%7==0)
{
if(a<10)
printf("%d",a);得到的不是7么
也没见你用do while啊
if(a%7==0)
{
if(a<10)
printf("%d",a);得到的不是7么
也没见你用do while啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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;
}
}
}
}
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;
}
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询