📜  suma de digitos - C 编程语言(1)

📅  最后修改于: 2023-12-03 15:35:11.224000             🧑  作者: Mango

Suma de Digitos - C 编程语言

在编程中,数字之和是一个非常常见的问题。这类问题需要我们将一个整数的各个数字进行相加,最终得到它们的和。在C编程语言中,有很多方法可以实现这个功能。

使用while循环进行数字求和
#include <stdio.h>

int main() {
   int n, sum = 0, remainder;

   printf("请输入一个整数:");
   scanf("%d", &n);

   while (n != 0) {
      remainder = n % 10;
      sum += remainder;
      n /= 10;
   }

   printf("各位数字之和为:%d\n", sum);
   return 0;
}

该程序使用while循环语句从右向左读取输入数字的每一位,并将它们相加起来。

使用for循环进行数字求和
#include <stdio.h>

int main() {
   int n, sum = 0;

   printf("请输入一个整数:");
   scanf("%d", &n);

   for (int i = n; i > 0; i /= 10) {
      sum += i % 10;
   }

   printf("各位数字之和为:%d\n", sum);

   return 0;
}

在for循环内,我们使用i /= 10来递归减小整数n,读取每个数字并将它们相加。

使用递归进行数字求和
#include <stdio.h>

int SumOfDigits(int num) {
   if (num == 0) {
      return 0;
   } else {
      return (num % 10 + SumOfDigits(num / 10));
   }
}

int main() {
   int n, sum;

   printf("请输入一个整数:");
   scanf("%d", &n);

   sum = SumOfDigits(n);

   printf("各位数字之和为:%d\n", sum);
   return 0;
}

在这个程序中,我们定义了一个递归函数SumOfDigits,该函数接收一个整数,并返回各位数字之和。该函数从输入整数中提取每个数字进行递归处理,并最终返回它们的和。

通过以上几种方法,您可以选择最适合您的需求的方法来解决数字求和问题。