C中的数字总和
2021-07-06 21:37:04
深夜i
--
--
C
中
的
数
字
总
和
数字总和 C 程序计算一个数字的数字总和,我们使用模运算符 (%) 提取数字的单个数字并继续添加它们。
C中一个数的位数之和
#include <stdio.h>
int main()
{
int n, t, sum = 0, remainder;
printf("Enter an integer\n");
scanf("%d", &n);
t = n;
while (t != 0)
{
remainder = t % 10;
sum = sum + remainder;
t = t / 10;
}
printf("Sum of digits of %d = %d\n", n, sum);
return 0;
}
如果您愿意,可以修改输入变量 (n) 而无需使用附加变量 (t),但我们不建议这样做。
程序输出:
例如,如果输入为 98,则变量 sum 最初为 0 98%10 = 8(% 是模运算符,它给出了 98 除以 10 时的余数)。 sum = sum + 余数 so sum = 8 now.98/ 10 = 9 因为在 C 语言中,每当我们将一个整数除以另一个整数时,就会得到一个整数。9%10 = 9sum = 8(前一个值)+ 9sum = 179/10 = 0。所以最后,n = 0, 循环结束; 我们得到所需的总和。
下载添加数字程序。
C程序使用for循环查找数字总和
#include <stdio.h>
int main()
{
int n, sum = 0, r;
printf("Enter a number\n");
for (scanf("%d", &n); n != 0; n = n/10) {
r = n % 10;
sum = sum + r;
}
printf("Sum of digits of a number = %d\n", sum);
return 0;
}
在没有模运算符的情况下计算 C 中的数字总和
C 程序来查找不使用模运算符的整数的数字之和。 我们的程序使用一个字符数组(字符串)来存储一个整数。 我们将它的每个字符转换为一个整数,然后将所有这些整数相加。
#include <stdio.h>
int main()
{
int c, sum, t;
char n[1000];
printf("Input an integer\n");
scanf("%s", n);
sum = c = 0;
while (n[c] != '\0') {
t = n[c] - '0'; // Converting character to integer
sum = sum + t;
c++;
}
printf("Sum of digits of %s = %d\n", n, sum);
return 0;
}
这种方法的一个优点是输入的整数可能很大,我们无法将其存储在 int 或 long long 数据类型变量中。 请参阅下面的示例。
程序输出:
Input an integer
9876543210
Sum of digits of 9876543210 = 45
C程序使用递归查找数字的数字总和
#include <stdio.h>
int add_digits(int);
int main()
{
int n, result;
scanf("%d", &n);
result = add_digits(n);
printf("%d\n", result);
return 0;
}
int add_digits(int n) {
if (n == 0) // Base case
return 0;
return (n%10 + add_digits(n/10));
}
上一篇:
idea打包java可执行jar包
下一篇:
C 中的阶乘程序
评论区