suzy Posted January 5, 2007 at 04:20 PM Report #74594 Posted January 5, 2007 at 04:20 PM //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(); }
Hipnoted Posted January 5, 2007 at 04:23 PM Report #74595 Posted January 5, 2007 at 04:23 PM 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"
suzy Posted January 5, 2007 at 05:06 PM Author Report #74601 Posted January 5, 2007 at 05:06 PM ja fiz e nao da 🙂
nakuro Posted January 5, 2007 at 05:08 PM Report #74602 Posted January 5, 2007 at 05:08 PM #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
shumy Posted January 5, 2007 at 05:13 PM Report #74604 Posted January 5, 2007 at 05:13 PM 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!
suzy Posted January 5, 2007 at 05:29 PM Author Report #74606 Posted January 5, 2007 at 05:29 PM :)thanks 🙂 foi distracção minha ?
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now