Dispari e pari delle cifre di un intero.

di il
2 risposte

Dispari e pari delle cifre di un intero.

Non riesco a trovare una soluzione a questo problema:
Inserire un numero intero N. Considerando il valore rappresentato dalle cifre dalle quali il numero è composto contare le cifre che rappresentano valori pari e quelle che rappresentano valori dispari.
Sono arrivato fino a questo punto
#include <stdio.h>
int main()
{
int n;
printf("Inserire un intero: ");
scanf("%d",&n);

while(n!=0){
n=n/10;
if(n%2==0)
printf("\nPari. ");
else
printf("\nDispari.");

}
return 0;
}
Il programma è sbagliato.

2 Risposte

  • Re: Dispari e pari delle cifre di un intero.

    Prova così.
    
    #include <stdio.h>
    int main()
    {
    int n;
    int pari=0;
    int dispari=0;
    
    printf("Inserire un intero: ");
    scanf("%d",&n);
    
    while(n!=0){
    
    if(n%2==0)
    {printf("\nPari. "); pari++;}
    else
    {printf("\nDispari."); dispari++;}
    n=n/10;
    }
    printf("\nPari %d", pari);
    printf("\nDispari %d", dispari);
    
    return 0;
    }
    
    
    Ma credo che bisognerebbe mettere un limite anche all'intero inserito. Una cosa così 11111111111111111111111 non gira.

    p.s scusate le numerose modifiche... sono distrutto oggi...
  • Re: Dispari e pari delle cifre di un intero.

    A parte che il problema principale l'ha risolto antragorn, ma perché un int e non un array di char? array[ i ] % 2 funziona uguale e non devi fare divisioni...
Devi accedere o registrarti per scrivere nel forum
2 risposte