C语言问题 编程 求所有能被 3整除的 1-999之间的三位数 且每个三位数含有数字5(如
答案:2 悬赏:50 手机版
解决时间 2021-04-28 20:47
- 提问者网友:自食苦果
- 2021-04-28 03:06
C语言问题 编程 求所有能被 3整除的 1-999之间的三位数 且每个三位数含有数字5(如
最佳答案
- 五星知识达人网友:往事隔山水
- 2021-04-28 04:12
main()
{
int i,k,t;
for(i=100;i<=999;i++)
{
k=i;
if(i%3==0)//如果 i 可以被3整除时
while(k!=0)
{
t=k%10;
if(t==5)
{
printf("%d ",i);
break;//只要有一个数字是5,就结束对 i 的判断
}
else k=k/10;
}
}
}
{
int i,k,t;
for(i=100;i<=999;i++)
{
k=i;
if(i%3==0)//如果 i 可以被3整除时
while(k!=0)
{
t=k%10;
if(t==5)
{
printf("%d ",i);
break;//只要有一个数字是5,就结束对 i 的判断
}
else k=k/10;
}
}
}
全部回答
- 1楼网友:鱼忧
- 2021-04-28 04:58
你好!
如果是 85 个数字满足的话,那么应该是 100 - 999,不是 1- 999
#include
#include
//求被3整除且至少有一个数字为5的三位数的个数
int main()
{
int a,b,c;
int i,n=0;
for(i=100;i<=999;i++)
if((i%3==0))
{
a=i/100; //百位数
b=(i-a*100)/10; //十位数
c=(i-a*100-b*10);//个位数
if(a==5||b==5||c==5)
{
if(n%10 ==0)
printf(" ");
n++;
printf("%d ",i);
}
}
printf(" 数字个数=%d",n);
return 0;
}追问
为什么我自己编的 打印统计个数是把1至85全部打印出来 哪里错了?追答printf("%d",n);
上面的这一句应该在 for 循环的外面追问额,就是应该在 for前加 { n++;后加 } 是这样的意思吗??追答
对的,注意看红色大括号的位置,n 的打印在外面
追问额,你图片中那个内红色花括号去掉可以么??追答不能去掉,如果去掉了内大括号,那么n 的值就是全部数字的个数了(999-100个)!追问不懂。。。。。能解说一下为什么是999-100个么追答循环是从100开始的,此时n=1 ,循环到999,不就是 n = 999 - 100 吗
还有什么问题吗追问嗯,好,谢谢了。追答别客气,满意请采纳
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯