#include
#include
using namespace std;
#define MAXN 105
char n[MAXN];
int root_of(int x) {
int ret = 0;
while (x > 0) {
ret += x % 10;
x /= 10;
}
return ret;
}
int root_of(char *x) {
int ret = 0;
int n = strlen(x);
for (int i = 0; i < n; ++i) {
ret += x[i] - '0';
}
return ret;
}
int main() {
while (scanf("%s", n)) {
if (strcmp(n, "0") == 0) break;
int rt = root_of(n);
while (rt > 9) {
rt = root_of(rt);
}
printf("%d\n", rt);
}
return 0;
}
这个题目没有说明整数的范围,所以很多人WA。但是你这RE。明显是把C和C++混用了。
C中的字符串函数不要来处理C++的string。同理,如果你用cin的话,字符串就把char a[255]改成string a就可以AC了。