Ez a program megfordít egy egész számot (amelyet a felhasználó adott meg) a while ciklus használatával. Ezután, ha utasítással ellenőrizzük, hogy a megfordított szám megegyezik-e az eredeti számmal, vagy sem.
A példa megértéséhez ismernie kell a következő C ++ programozási témákat:
- C ++ közben és csináld … míg a hurok
- C ++ ha, ha… más, és beágyazott, ha … más
Ez a program egy egész számot vesz fel a felhasználótól, és ez az egész megfordul.
Ha a megfordított egész szám megegyezik a felhasználó által megadott egész számmal, akkor ez a szám palindróma, ha nem, akkor az nem palindróma.
Példa: Ellenőrizze a Palindrome számot
#include using namespace std; int main() ( int n, num, digit, rev = 0; cout <> num; n = num; do ( digit = num % 10; rev = (rev * 10) + digit; num = num / 10; ) while (num != 0); cout << " The reverse of the number is: " << rev << endl; if (n == rev) cout << " The number is a palindrome."; else cout << " The number is not a palindrome."; return 0; )
Kimenet
Adjon meg egy pozitív számot: 12321 A szám hátlapja: 12321 A szám palindróma.
Adjon meg egy pozitív számot: 12331 A szám hátlapja a következő: 13321 A szám nem palindróma.
A fenti programban a felhasználót arra kérjük, hogy adjon meg egy pozitív számot, amelyet a num változó tárol.
A számot ezután egy másik n változóba menti, hogy ellenőrizze, amikor az eredeti szám megfordult.
A do… while ciklus belsejében a szám utolsó számjegyét a kód választja el digit = num % 10;
. Ez a számjegy hozzáadódik a rev változóhoz.
Mielőtt hozzáadnánk a számot a rev-hez, először meg kell szoroznunk a rev változó aktuális adatait 10-vel, hogy a számot hozzáadjuk a szám n- edik helyéhez.
Például: a 123-as, a 3. a nulla th helyen, 2 az egy th helyen, és 1 a száz th helyen.
Tehát, hogy egy újabb szám után a 4 123, meg kell váltani a jelenlegi számok a bal oldalon, így most 1 van az ezer th helyen, 2 az egyik th helyen, 3 az egy th hely és 4 a nulla th helyen.
Ezt könnyen meg lehet tenni úgy, hogy megszorozzuk a 123-at 10-vel, amely 1230-at ad, és hozzáadjuk a 4-es számot, amely 1234-et ad. Ugyanez történik a fenti kódban is.
Amikor a do while ciklus véget ér, megfordított számunk van a fordulatszámban. Ezt a számot ezután összehasonlítjuk az eredeti n számmal.
Ha a számok megegyeznek, az eredeti szám palindrom, különben nem.