• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Rotomagus

programa que leia um número inteiro e calcule a soma dos seus dígitos

8 mensagens neste tópico

Boa tarde,

Programação 1 anda a acabar comigo! :P

Pois é, tenho agora de fazer um exercicio em que o programa leia um numero inteiro e calule a soma dos seus digitos...

Não faço a menor ideia de como fazer um programa assim...agradecia sugestoes! : )

Desde ja obrigado,abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Através da divisão inteira, e do resto da divisão inteira, podes obter os vários dígitos que constituem um número.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O que pretendes?

Qualquer coisa tipo isto?

int numero1,numero2;
printf("Insere dois numeros:");
scanf("%d",&numero1);
scanf("%d",&numero2);
printf("A soma de %d com %d e %d",numero1,numero2,numero1+numero2);

Pelo que precebi da tua pergunta, foi isto... Mas a resposta do rui nao tem nada haver...:S

Cumpz

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O que pretendes?

Qualquer coisa tipo isto?

int numero1,numero2;
printf("Insere dois numeros:");
scanf("%d",&numero1);
scanf("%d",&numero2);
printf("A soma de %d com %d e %d",numero1,numero2,numero1+numero2);

Pelo que precebi da tua pergunta, foi isto... Mas a resposta do rui nao tem nada haver...:S

Cumpz

Não, ele quer algo do género:

O utilizador introduz 123

E ele mostra o resultado de 1 + 2 + 3

Percebes?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Aqui está o programa : )

Obrigado pela sugestão !

#include <stdio.h>

main()

{
int numero,resto,somatorio;

printf("Introduza um número inteiro para obter o somatório dos seus digitos \n");
scanf("%d",&numero);
somatorio=0;

while (numero>0)
{
resto=numero%10;
numero=(numero-resto)/10;
somatorio=somatorio+resto;
}

printf("O somatório é %d \n",somatorio);

}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A função main devolve um int. Especifica isso. Já agora, especifica também que não queres usar parametros para essa função

int main(void)

Nunca, nunca uses scanf sem testar o resultado da função; nem mesmo em programetas de experiências!

O que é que acontece se, para número inteiro eu introduzir "quinze"?

if (scanf("%d", &numero) != 1) { /* erro no input */}

Eu não sou muito de me preocupar com optimização, mas (numero-resto)/10 é igual a numero/10

numero = numero / 10;

E finalmente, como a função devolve um int, diz-lhe isso mesmo com um return 0.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ah.. Penso que a dúvida dele não esta suficientemente esclarecedora, mas ok!

Tudo bem! :cheesygrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora