题目描述
对于给定的正整数 n,计算其十进制形式下所有位置数字之和,并计算其平方的各位数字之和。
输入描述:
每行输入数据包括一个正整数n(0<n<40000)
输出描述:
对于每个输入数据,计算其各位数字之和,以及其平方值的数字之和,输出在一行中,之间用一个空格分隔,但行末不要有空格。
示例1
输入
复制
4
12
97
39999
输出
复制
4 7
3 9
16 22
39 36
#include <stdio.h>
#include <string.h>
char array[30];
int get_sum(int num) {
sprintf(array, "%d", num);
int sum = 0;
for (int i = 0; i < strlen(array); i++) {
sum += array[i] - '0';
}
return sum;
}
int main() {
int a;
while (EOF != scanf("%d", &a)) {
printf("%d %d\n", get_sum(a), get_sum(a * a));
}
return 0;
}