百位数不大于2 将个位与百位对换,得到的三位数是原三位数的两倍多 求满足这些条件的所有三位数

lifeiscool 2008-03-31 04:09:41
题目是 百位数不大于2
将个位与百位对换,得到的三位数是原三位数的两倍多
求满足这些条件的所有三位数


#include<stdio.h>
void main()
{
int i,g,s,b,fu;
for(i=101;i<=299;i++)
{
b=i/100;
s=i-b*100/10;
g=i-100*b-10*s;
fu=100*g+s*10+b;
if(fu>=i*2&&fu<i*3)


printf(" %d ",i);

}
}


哪里错了?
...全文
1244 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
晨星 2008-04-01
  • 打赏
  • 举报
回复
另外,提取个十百位上的数字不用那么麻烦,可以:

int a[3];
int j;
for(j = 0; j < 3; ++j) {
a[j] = i % 10;
i /= 10;
}
hazuki9902 2008-03-31
  • 打赏
  • 举报
回复
如果不考虑效率又懒得去抠数的话

可以偷懒用atoi()和itoa()玩玩

直观又简单!
jjfwenwenti 2008-03-31
  • 打赏
  • 举报
回复
#include <stdio.h>
int main()
{
int i,g,s,b,fu;
for(i=101;i <=299;i++)
{
b=i/100;
s=(i-b*100)/10;
g=i-100*b-10*s;
fu=100*g+s*10+b;
if(fu>=i*2 && fu<i*3)
printf("%d ",i);
}
return 0;
}
晨星 2008-03-31
  • 打赏
  • 举报
回复
s=i-b*100/10;
改为
s=(i-b*100)/10;
CH3CHO 2008-03-31
  • 打赏
  • 举报
回复
s=(i-b*100)/10;
请注意运算符的优先级

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧