@songpfei
2016-04-19T02:00:54.000000Z
字数 418
阅读 1591
OJ_算法
描述:
求整数的Root:给定正整数,求每位数字之和;如果和不是一位数,则重复;
题目类别: 数组
难度: 初级
运行时间限制: 10Sec
内存限制: 128MByte
阶段: 入职前练习
输入:
输入任意一个或多个整数
输出:
输出各位数字之和,直到和为个位数为止(输入异常,则返回-1)
多行,每行对应一个输入数据的结果。
样例输入:
25
865
样例输出:
7
1
#include<stdio.h>int NumberRoot(int n){if (n <= 0)return -1;else if (n < 10)return n;else{int root = 0;while (n){root += n % 10;n = n / 10;if (n == 0 && root > 9){n = root;root = 0;}}return root;}}int main(){int n;while (scanf("%d", &n) == 1){printf("%d\n", NumberRoot(n));}return 0;}