Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Se trata de implementar un programa que sume los dıgitos de un n´umero entero no negativo. Por
- ejemplo, la suma de los d´ıgitos del 3433 es 13.
- Para darle un poco m´as de emoci´on, el programa no se limitar´a a escribir el resultado de la suma,
- sino que tambi´en escribir´a todos los sumandos utilizados: 3 + 4 + 3 + 3 = 13.
- Entrada
- La entrada consta de una serie de casos de prueba terminados con un n´umero negativo. Cada caso
- de prueba es una simple l´ınea con un n´umero no negativo no mayor que 109 del que habr´a que sumar
- todos sus d´ıgitos.
- Salida
- Para cada caso de prueba se mostrar´a una l´ınea en la que aparecer´an cada uno de los d´ıgitos separados
- por el signo +, tras lo cual aparecer´a el s´ımbolo = y la suma de todos los d´ıgitos.
- Ten en cuenta que antes y despu´es de cada s´ımbolo (+ y =) hay un espacio.
- #include <stdio.h>
- int sumarDigitos(int);
- int main(void)
- {
- int num;
- do {
- scanf("%d", &num);
- if (num != -1) {
- printf(" = %i", sumarDigitos(num));
- } else {
- break;
- }
- } while (1 == 1);
- return 0;
- }
- int sumarDigitos(int num)
- {
- /* caso base n < 10
- * caso Rec n >= 10
- */
- if (num < 10) {
- printf("%i", num);
- return num;
- }
- int suma = sumarDigitos(num / 10) + num % 10;
- printf(" + %i", num % 10);
- return suma;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement