Ebben a példában megtanulja kiszámítani a felhasználó által megadott természetes számok összegét.
A példa megértéséhez ismernie kell a következő C programozási témákat:
- C a hurok számára
- C közben és csináld … míg a hurok
Az 1, 2, 3 pozitív számokat természetes számoknak nevezzük. A természetes számok összege 10-ig:
összeg = 1 + 2 + 3 +… + 10
A hurokhoz használt természetes számok összege
#include int main() ( int n, i, sum = 0; printf("Enter a positive integer: "); scanf("%d", &n); for (i = 1; i <= n; ++i) ( sum += i; ) printf("Sum = %d", sum); return 0; )
A fenti program veszi a felhasználótól a bemenetet, és eltárolja azt az n változóban. Ezután a for
hurok segítségével kiszámítható az összeg n-ig.
A természetes számok összege a hurok használata közben
#include int main() ( int n, i, sum = 0; printf("Enter a positive integer: "); scanf("%d", &n); i = 1; while (i <= n) ( sum += i; ++i; ) printf("Sum = %d", sum); return 0; )
Kimenet
Adjon meg egy pozitív egész számot: 100 Összeg = 5050
Mindkét programban a ciklus n-szer ismétlődik. És minden iterációban az i értéket hozzáadjuk az összeghez, és i-vel növekszünk 1
.
Bár mindkét program technikailag helyes, for
ebben az esetben jobb a ciklust használni . Azért, mert az iterációk száma ismert.
A fenti programok nem működnek megfelelően, ha a felhasználó negatív egész számot ad meg. Itt van egy kis módosítás a fenti programon, ahol folyamatosan veszünk inputokat a felhasználótól, amíg meg nem adunk egy pozitív egész számot.
Olvassa el a bemenetet, amíg meg nem ad egy pozitív egész számot
#include int main() ( int n, i, sum = 0; do ( printf("Enter a positive integer: "); scanf("%d", &n); ) while (n <= 0); for (i = 1; i <= n; ++i) ( sum += i; ) printf("Sum = %d", sum); return 0; )
Látogasson el erre az oldalra, hogy megtudja, hogyan találhatja meg a természetes számok összegét rekurzióval.