天天看點

練習水仙花數感悟!

     一開始我是不知道水仙花數是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;

  k = i;

  sum = 0;

  while(k != 0)

此部落格後來補上的,之前不會操作,嘿嘿......

本文轉自 ye小灰灰  51CTO部落格,原文連結:http://blog.51cto.com/10704527/1704942,如需轉載請自行聯系原作者

繼續閱讀