输入任意一个正整数,输出其各位数之和,直到和为单位数字

输入任意一个正整数,将其各位相加,若得到的结果大于两位数,则将该结果的各位再相加,直到和为一位数(即最终结果小于10)。代码如下:

int GetSingleNum(int N)
{
 if (N <= 0) return -1;

 int sum = 0, tempN = N;

 while(true)
 {
  int y = tempN % 10;
  tempN = tempN / 10;
  
  sum += y;
  
  if (tempN <= 0) break;
 }

 if (sum > 9)
 {
  sum = GetSingleNum(sum);
 }

 return sum;
}

posted @ 2011-04-05 10:48  天明打个盹  阅读(5937)  评论(2编辑  收藏  举报