Jump to content

[C] Ajuda: Onde está o erro? (Resolvido)


Recommended Posts

Posted
//Desenvolva uma funcao que receba, como argumento, um valor inteiro positivo e devolva
//o numero de digitos do valor recebido.

#include<stdio.h>
int digitos(int x)
{
int n,resto;
  while(n>0)
  {
  resto=resto+n%10;
  n=n/10;
  }
  return resto;
}

main()
{
int numero,total;
printf(" introduza o numero\n");
scanf("%d",&numero);
total=digitos(numero);
printf(" a soma dos digitos e %d\n",total);
fflush(stdin);
getchar();
}
Posted

Não é por nada mas já vos habituavas a utilizar o GeSHi.

Agora não há desculpa de não saber com o utilizar: http://www.portugal-a-programar.pt/index.php?showtopic=6931

🙂

EDIT: Ja agora, na função digitos tens como argumento int x mas dentro não usas essa variável. Supostamente tens de realizar operações sobre ela...

"Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"

Posted
#include<stdio.h>
int digitos(int x)
{
int resto;
resto=0;
  while(x>0)
  {
  resto=resto+x%10;
  x=x/10;
  }
  return resto;
}

main()
{
int numero,total;
printf(" introduza o numero\n");
scanf("%d",&numero);
total=digitos(numero);
printf(" a soma dos digitos e %d\n",total);
fflush(stdin);
getchar();
}

penso que sera assim o erro que dava na função mas parece que tens na propria função um erro que não vai dar o resultado, que é o resto tem que ser inicializado em 0

Posted

Assim derrepente sem testar:

int digitos(int x)
{
int count = 1;

while(x/(10*count)!=0) count++;
return count; 
}

Aqui há coisa de 2 anos fazia umas malhas de croché, depois fartei-me e fui para informática!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.