C语言:从键盘输入一个正整数n, 计算该数的各位数之 和并输出
时间: 2024-03-19 10:46:30 浏览: 24
好的,以下是 C 语言代码实现:
```c
#include <stdio.h>
int main() {
int n, sum = 0;
printf("请输入一个正整数:");
scanf("%d", &n);
while (n) {
sum += n % 10;
n /= 10;
}
printf("各位数之和为:%d\n", sum);
return 0;
}
```
跟上面的 C++ 代码实现类似,输入一个数字,通过每次取余数和整除10来获取各个位上的数字,然后将他们相加得到最终的和。
相关问题
C语言:从键盘输入一个正整数n, 计算该数的各位数之 和并输出(定义一个新函数)
好的,下面是一个简单的 C 语言程序,用于从键盘输入一个正整数 n,计算该数的各位数之和并输出:
```c
#include <stdio.h>
int sum_of_digits(int n);
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
printf("该数的各位数之和为:%d\n", sum_of_digits(n));
return 0;
}
int sum_of_digits(int n) {
int sum = 0;
while (n > 0) {
sum += n % 10;
n /= 10;
}
return sum;
}
```
在这个程序中,我们使用了一个名为 `sum_of_digits` 的新函数来计算一个正整数的各位数之和。该函数使用一个 while 循环来逐位地将输入的数除以10,每次取余数并将其加到一个名为 `sum` 的变量上,直到输入的数变成0为止。最后,该函数返回 `sum` 变量的值,即该数的各位数之和。在 `main` 函数中,我们使用 `scanf` 函数从键盘输入一个正整数 `n`,并将其作为参数传递给 `sum_of_digits` 函数。最后,我们将 `sum_of_digits` 函数的返回值打印到终端上。
C语言:从键盘输入一个正整数n, 计算该数的各位数之 和并输出(定义一个新函数,递归法)
好的,下面是一个使用递归法实现的 C 语言程序,用于从键盘输入一个正整数 n,计算该数的各位数之和并输出:
```c
#include <stdio.h>
int sum_of_digits(int n);
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
printf("该数的各位数之和为:%d\n", sum_of_digits(n));
return 0;
}
int sum_of_digits(int n) {
if (n < 10) {
return n;
} else {
return n % 10 + sum_of_digits(n / 10);
}
}
```
在这个程序中,我们同样使用了一个名为 `sum_of_digits` 的新函数来计算一个正整数的各位数之和。该函数使用递归的方式来计算各位数之和。具体来说,如果输入的数小于10,则直接返回该数;否则,该函数将输入的数除以10并取余数,将余数加到该数的各位数之和中,然后递归调用 `sum_of_digits` 函数并传递该数除以10的商作为参数。当输入的数变成一位数时,递归过程结束,并将各位数之和返回给调用者。
在 `main` 函数中,我们同样使用 `scanf` 函数从键盘输入一个正整数 `n`,并将其作为参数传递给 `sum_of_digits` 函数。最后,我们将 `sum_of_digits` 函数的返回值打印到终端上。