PDA

View Full Version : [linguaggio C] problema in c


stregone_giallo_rosso
10-12-2010, 11:41
Salve ragazzi non riesco a impostare questo programmino in c. in pratica dovrei ricevere un numero da tastiera e stampare il numero di 5 che contiene graziiiiie

Opcode
10-12-2010, 12:09
Salve ragazzi non riesco a impostare questo programmino in c. in pratica dovrei ricevere un numero da tastiera e stampare il numero di 5 che contiene graziiiiie

Prova a cambiare il titolo in qualcosa di coerente a quello che ti serve, se non per aiutare te stesso, almeno per rispetto di chi segue questo forum.

Qui c'č un esempio di quello che mi sembra tu stia cercando

#include <stdio.h>

int main() {
int num;

scanf("%d", &num); // prende il numero in input
// e stampa il risultato delle operazioni richieste
printf("\n=> %d volte (con resto di %d)\n", num/5, num%5);

return(0);
}

stregone_giallo_rosso
10-12-2010, 12:21
ciao ti ringrazio...perņ a me servirebbe solo stampare il numero di 5 contenuto nella stringa che inserisco....esempio 354645 stampa 2 ...questo nn riesco a implementare

WarDuck
10-12-2010, 14:24
ciao ti ringrazio...perņ a me servirebbe solo stampare il numero di 5 contenuto nella stringa che inserisco....esempio 354645 stampa 2 ...questo nn riesco a implementare

Potresti trattare il numero inserito come una stringa, e implementare un contatore da aumentare ogni volta che il carattere letto corrisponde a 5.

Supdario
10-12-2010, 16:52
ciao ti ringrazio...perņ a me servirebbe solo stampare il numero di 5 contenuto nella stringa che inserisco....esempio 354645 stampa 2 ...questo nn riesco a implementare

#include <stdio.h>

int main(void)
{
int n, i;
char str[256];
fgets(str, sizeof(str), stdin);
for (i = 0; i < strlen(str); i++)
{
if (str[i] == '5') n++;
}
//Stampa il valore n
}

Non č altro che un ciclo for che incrementa un contatore (n) ogni volta che trova 5 nella posizione corrente.

Zi0P4tch0
13-12-2010, 02:30
Non mi č chiaro se vuoi contare il numero di '5' all'interno di un numero inserito come numero (appunto) o come stringa.
Nel caso della stringa, l'esempio che ti ha fornito Supdario č validissimo.
Nel caso tu voglia inserire un numero (t'implemento il codice come funzione)...

int count_fives(int num) {
int count = 0, actual_num = 0;
while (num) {
actual_num = num % 10;
if (actual_num == 5) count++;
num /= 10;
}
return count;
}