/* AUTORE: Manuel Vichi Inversione di un numero, complemento a 10, numero di cifre */ #include #include #include #include using namespace std; int invertiNumero(int numero) { int resto = 0, invertito = 0, temp = numero; do { resto = temp % 10; invertito = (invertito * 10) + resto; temp = temp / 10; } while (temp != 0); return invertito; } int complementoA10(int numero) { int cifre = 0, potenza = 1, complemento, temp = numero; do { temp = temp / 10; cifre++; } while (temp != 0); do { potenza = potenza * 10; cifre--; } while (cifre > 0); complemento = potenza - numero; return complemento; } int contaZeri(int numero) { int zeri = 0, temp = numero; while (temp > 0) { if (temp % 10 == 0) { zeri++; } temp /= 10; } return zeri; } int main() { int numero; cout << "Inserisci un numero: "; cin >> numero; cout << endl << "Il numero invertito e': " << invertiNumero(numero) << endl << "Il complemento a 10 del numero e': " << complementoA10(numero) << endl << "Il numero di zeri nel numero e': " << contaZeri(numero) << endl; return 0; }