| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 749 人关注过本帖
标题:求自守数
只看楼主 加入收藏
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
结帖率:100%
收藏
 问题点数:0 回复次数:1 
求自守数
如果一个整数的平方的后面几个数等于它自身,我们就称之为自守数,如5*5=25;25*25=625;现求1到任意数之间的所有自守数编程如下:
#include<stdio.h>
#include<stdlib.h>
main()
{
   int a,m,n=0,k,k2=1,i,j=0,b[20]={0};
   long k1,k4;
   printf("请输入范围(1到?)内:");
   scanf("%d",&k);
   for(a=1;a<=k;a++)
   {   
      m=a;
      while(m!=0)
      {
         m/=10;
         n++;
       }
      k1=a*a;
      for(i=0;i<n;i++)
      {
         k2=k2*10;
       }
      k4=k1%k2;
      if(k4==a)
      {
         b[j]=a;
         j++;
       }
    }
    printf("1到%d内总共有%d个自守数,它们是:\n",k,j);
    for(i=0;i<j;i++)
    {
      printf("%d",b[i]);
     }
   system("pause");
}
编译没问题,但运行总是出错!
搜索更多相关主题的帖子: include 
2016-06-18 20:41
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
问题找到了,n在每次循环前都要归零,k2则要归1,不能写在for外
2016-06-18 21:15
快速回复:求自守数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026558 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved