7-4 求整数的位数及各位数字之和 分数15 全屏浏览 切换布局 对于给定的正整数N,求它的位数及其各位数字之和。 输入格式: 输入在一行中给出一个不超过10°的正整数N。 输出格式: 在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。根据这些编写一个c语言程序
时间: 2024-12-19 20:24:56 浏览: 4
在C语言中,你可以通过循环遍历每一位数字并累加计算来解决这个问题。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
int main() {
int num, digit_sum = 0, bit_count = 0;
// 输入正整数
scanf("%d", &num);
// 获取整数的位数
while (num > 0) {
bit_count++;
digit_sum += num % 10; // 累加每一位的值
num /= 10; // 取除最后一位
}
// 输出结果
printf("%d %d\n", bit_count, digit_sum);
return 0;
}
```
在这个程序中,我们首先读取用户输入的整数`num`。然后进入一个while循环,每次迭代都将位数计数器`bit_count`增加1,并将当前位的数字(`num % 10`)累加到`digit_sum`。最后,通过`num /= 10`去除掉整数的最低有效位,直到`num`变为0。程序结束时,会打印出位数`bit_count`和各位数字之和`digit_sum`。
阅读全文