这个题目做了好多次运行总是不对,哪位大佬来帮我解答一下,感谢,这是c语言的题目?

编一程序,输出2~999之间的所有同构数。所谓同构数是指这样的数,它出现在它的平方的右侧,如5的平方=25,25的右端是5,所以5是一个同构数。输入格式:输入仅一行,输入... 编一程序,输出2~999之间的所有同构数。
所谓同构数是指这样的数,它出现在它的平方的右侧,如5的平方=25,25的右端是5,所以5是一个同构数。

输入格式:

输入仅一行,输入2个整数,比如2和 9。

输出格式:

输出多行,分行输出2到9之间的所有的同构数。

输入样例:

2 9

输出样例:

5
6
展开
 我来答
小黑哎啊
科技发烧友

2020-04-11 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:1642
采纳率:74%
帮助的人:343万
展开全部

#include<stdio.h>

 main()

 {

int n,m;

scanf("%d%d",&n,&m);

for(int i=n;i<=m;i++)

{

if(i<10&&i*i%10==i)

printf("%d\n",i);

if(i>=10&&i<100&&i*i%100==i)

printf("%d\n",i);

if(i>=100&&i<1000&&i*i%1000==i)

printf("%d\n",i);

}

}

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
周大个子79
2020-04-11 · TA获得超过147个赞
知道小有建树答主
回答量:188
采纳率:100%
帮助的人:29.2万
展开全部
#include<stdio.h>
#include<math.h>
int main()
{
int m,n,i,x,t=0;
scanf("%d%d",&m,&n);
for(i=m; i<=n; i++)
{
x=i;
while(x)
{
x/=10;
t++;
}
if(i==i*i%(int)pow(10,t))
printf("%d\n",i);
t=0;
}
return 0;
}
更多追问追答
追问
大佬,我按照你的程序做的
但系统说结果错误,我心态崩了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
信恒家居
2020-04-11 · 超过12用户采纳过TA的回答
知道答主
回答量:116
采纳率:46%
帮助的人:9.8万
展开全部

#include<stdio.h>

void main()

{

int m,n,i,j,p=10;

scanf("%d%d",&m,&n);

for(i=m;i<=n;i++)

{     p=10;

j=i;

while(j/10)

{p=p*10;

j=j/10;}

if(i==(i*i)%p)

  {printf("%d\n",i);

}

}

}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式