W tym przykładzie nauczysz się obliczać sumę liczb naturalnych wprowadzonych przez użytkownika.
Aby zrozumieć ten przykład, powinieneś znać następujące tematy programowania w C:
- C jak pętla
- C while i zrób… while Loop
Liczby dodatnie 1, 2, 3… znane są jako liczby naturalne. Suma liczb naturalnych do 10 to:
suma = 1 + 2 + 3 +… + 10
Suma liczb naturalnych używanych do pętli
#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; )
Powyższy program pobiera dane wejściowe od użytkownika i przechowuje je w zmiennej n. Następnie for
pętla służy do obliczenia sumy do n.
Suma liczb naturalnych w pętli while
#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; )
Wynik
Wpisz dodatnią liczbę całkowitą: 100 Suma = 5050
W obu programach pętla jest powtarzana n razy. I w każdej iteracji wartość i jest dodawana do sumy, a i jest zwiększana o 1
.
Chociaż oba programy są technicznie poprawne, for
w tym przypadku lepiej jest użyć pętli. Dzieje się tak, ponieważ znana jest liczba iteracji.
Powyższe programy nie działają poprawnie, jeśli użytkownik wprowadzi ujemną liczbę całkowitą. Oto mała modyfikacja powyższego programu, w której pobieramy dane od użytkownika, aż do wprowadzenia dodatniej liczby całkowitej.
Czytaj dane wejściowe aż do wprowadzenia dodatniej liczby całkowitej
#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; )
Odwiedź tę stronę, aby dowiedzieć się, jak znaleźć sumę liczb naturalnych za pomocą rekursji.