c语言自守数 10

3)使用函数的方法求10000之内的自守数,自守数是指一个数的平方的尾数等于该数自身的自然数。例如:252=625 ;762=5776;93762=879093... 3)使用函数的方法求10000之内的自守数,自守数是指一个数的平方的尾数等于该数自身的自然数。例如:252=625 ;762=5776;93762=87909376
(1)编制一个函数isAutomorphic (n),判断n是否为自守数数,如果是返回1,如果不是返回0。
(2)在main函数中,使用for循环,调用函数isAutomorphic判断n是否为自守数。
(3) 打印的数字占8个字符宽,每行显示5个自守数。
ps:int isAutomorphic( int n)
{
int m,t=1;
int p=n;
while(p!=0)
{
p=p/10;
t=t*10;
}
m=n*n;
if(n=m%t)
return 1;
else
return 0;本人已经将那个函数写出来了,下面的一写就炸了,求老司机们帮帮我!!!!!!!!!!!!!!!!!!!!!!
展开
 我来答
White_MouseYBZ
2018-04-13 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:8159万
展开全部

主函数如下写就可以了。但我看着你的自定义函数是错误的——

int main(int argc,char *argv[]){
int n,t;
for(t=0,n=1;n<10000;n++)
if(isAutomorphic(n))
printf(++t%5 ? "%8d" : "%8d\n",n);
printf("\n");
return 0;
}
度慢不0R
2016-05-25 · TA获得超过643个赞
知道小有建树答主
回答量:310
采纳率:100%
帮助的人:159万
展开全部
90625和109376两个数的平方溢出了,变成了负数,当然会出错
另:32位的vc、vs等许多编译器中long和int的位数相同(即能表示的范围相同),可以将上面的long改为long long或__int64
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式