Ir para o conteúdo
Joao brandao

Exercicio - ajuda

Mensagens Recomendadas

Joao brandao


#include <stdio.h>
#include <stdlib.h>

int main()
{
    int num,final,r;
    scanf("%d",&num);  // 407
    final=0;
    while(num>0); //407>0
    {
     r=num % 10; // 407 mod 10 = 7(r)
     num=num/10;  // 407 / 10 =40(num)
     final=(r*r*r)+final; // exemplo: (7*7*7)+0
    }
    if(final==num)
     printf("SIM");
     else
     printf("NAO");
    getchar();
    getchar();
  return 0;
}

Enuciado:

Um número é de Amstrong se a soma dos cubos dos seus dígitos é igual

a esse número, por exemplo 407=4^3 + 0^3+ 7^3.

da me erro porque quando é mais de 3 digitos n me da nada :-S  e para poder dar é preciso  colocar '0' no 0 do while. (  while(num>'0')  )

1 Duvida

é preciso colar '0', n quero ler como string mas sim como int o 0, alguem me sabe dizer pk isto esta a dar com '0' e sem' ' nao da?

2 Duvida

Qual é o problema do exercicio para n entrar no ciclo while?  pela minha logica o exercicio esta certo, deveria de dar

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pmg

Experimenta imprimir os valores antes do if

    /* ... */
    printf("comparando final (%d) e num (%d)\n", final, num);
    if(final==num)
    /* ... */


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

apanhado pelo erro mais comum em todos os programadores : o caracter ';'

    while(num>0); //407>0

tão pequeno mas muito significante


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Joao brandao

apanhado pelo erro mais comum em todos os programadores : o caracter ';'

    while(num>0); //407>0

tão pequeno mas muito significante

eu so coloquei o '0' aqui no post porque no meu programa n tenho o '0' mas sim 0.

Partilhar esta mensagem


Ligação 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

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.