码迷,mamicode.com
首页 > 其他好文 > 详细

练习水仙花数感悟!

时间:2015-10-21 19:25:28      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:include   return   水仙花   count   

     一开始我是不知道水仙花数是3位数以上的,所以就写了一个求位数的模块(我也是醉了,如果知道,就不用这么麻烦)

开始代码:

#include<stdio.h> 
#include<math.h>
int count(int i)
{     
 int count = 0,remainder = 0;
 while(i != 0)
 {
  remainder = i%10;
  i = i/10;
  count++;
 }
 return count;
}

//求位数!
int main()
{
 int i = 0,j = 0,sum = 0,remainder = 0;
 for(i=10;i<1000;i++)
 {
  j = count(i);

while(k != 0)
  {
   remainder = k%10;
   k = k/10;
   sum += pow(remainder,j);
  }
  if(i == sum)
  {
   printf("%d\n",i);
  }
 }
 return 0;
}

感悟:当调试代码时,就出现了死循环,怎么也打不到错误在哪,后来进行断点调试时才发现for循环里的“i”和“sum”是一直变化的!

改正后的主函数:int main()
{
 int i = 0,j = 0,k = 0,sum = 0,remainder = 0;
 for(i=10;i<1000;i++)
 {
  k = i;
  sum = 0;
  j = count(i);
  while(k != 0)
  {
   remainder = k%10;
   k = k/10;
   sum += pow(remainder,j);
  }
  if(i == sum)
  {
   printf("%d\n",i);
  }
 }
 return 0;
}

此博客后来补上的,之前不会操作,嘿嘿......

练习水仙花数感悟!

标签:include   return   水仙花   count   

原文地址:http://10704527.blog.51cto.com/10694527/1704942

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!