对于给定的正整数n求它的各位数字之和C语言
时间: 2023-09-01 08:08:22 浏览: 104
可以使用循环和取模操作来实现:
```c
#include <stdio.h>
int main() {
int n, sum = 0;
printf("请输入一个正整数:");
scanf("%d", &n);
while (n > 0) {
sum += n % 10; // 取出最后一位数字并加到总和中
n /= 10; // 将最后一位数字去掉
}
printf("各位数字之和为:%d\n", sum);
return 0;
}
```
或者使用递归实现:
```c
#include <stdio.h>
int digit_sum(int n) {
if (n == 0) {
return 0;
} else {
return n % 10 + digit_sum(n / 10);
}
}
int main() {
int n, sum;
printf("请输入一个正整数:");
scanf("%d", &n);
sum = digit_sum(n);
printf("各位数字之和为:%d\n", sum);
return 0;
}
```
相关问题
用C语言编写程序完成对于给定的正整数N,求它的位数及其各位数字之和。
A:
以下是用C语言编写的程序,可实现对于给定的正整数N,求它的位数及其各位数字之和。
```c
#include <stdio.h>
int main() {
int n, sum = 0, count = 0;
printf("请输入一个正整数:");
scanf("%d", &n);
while (n > 0) {
sum += n % 10; // 将n的个位数字加到sum中
n /= 10; // 去掉n的个位数字
count++; // 记录n有多少位
}
printf("该正整数的位数是:%d\n", count);
printf("该正整数各位数字之和是:%d\n", sum);
return 0;
}
```
使用方法:用户运行程序后,输入一个正整数,即可获得该正整数的位数及其各位数字之和的结果。
7-4 求整数的位数及各位数字之和 分数15 全屏浏览 切换布局 对于给定的正整数N,求它的位数及其各位数字之和。 输入格式: 输入在一行中给出一个不超过10°的正整数N。 输出格式: 在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。根据这些编写一个c语言程序
在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`。
阅读全文