对于给定的正整数N,求它的位数及其各位数字之和。 输入格式: 输入在一行中给出一个不超过10 9 的正整数N。 输出格式: 在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。用c语言写
时间: 2024-10-08 22:13:42 浏览: 79
Python例题(一) 输入一个正整数判断是不是素数
在C语言中,你可以通过以下步骤计算给定正整数N的位数和各位数字之和:
```c
#include <stdio.h>
#include <math.h>
int main() {
int N;
scanf("%d", &N); // 从输入读取整数N
// 计算位数
int digits_count = (int)log10(N) + 1;
// 初始化各位数字之和
int digit_sum = 0;
while (N > 0) {
// 取出最低有效位并累加到总和
digit_sum += N % 10;
// 移除最低有效位
N /= 10;
}
// 输出结果
printf("%d %d\n", digits_count, digit_sum);
return 0;
}
```
这个程序首先读入整数N,然后利用对数函数`log10`计算出位数(向上取整),接着通过循环逐位提取并累加N的每位数字。最后,它将结果输出为位数和数字之和,并用空格分隔。
阅读全文