对于给定的正整数N
,求它的位数及其各位数字之和。
输入格式:
输 入 在 一 行 中 给 出 一 个 不 超 过 1 0 9 的 正 整 数 N 输入在一行中给出一个不超过10^{9} 的正整数N 输入在一行中给出一个不超过109的正整数N
输出格式:
在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。
输入样例:
321
输出样例:
3 6
代码:
# include <stdio.h>
# include <stdlib.h>
typedef long long int long_int;
int main() {
long_int n,temp;
int poi = 0,value = 0;
scanf("%lld",&n);
temp = n;
// 321——321 % 10 = 1——321 / 10 = 32——32 % 10 = 2
while (1) {
value += (temp % 10);
if (temp < 10) {
poi += 1;
break;
} else {
temp /= 10;
poi += 1;
}
}
printf("%d %d",poi,value);
return 0;
}
提交截图:
解题思路:
这边的解题思路在前面的题已经遇到过了,代码中的注释举了一个例子,方便大家的理解!
typedef longlong int long_int;
意思就是将long long int
起别名为long_int
方便后面的调用,纯属瞎搞,可以直接用前面的!