Šajā piemērā jūs iemācīsities aprēķināt lietotāja ievadīto dabisko skaitļu summu.
Lai saprastu šo piemēru, jums vajadzētu būt zināšanām par šādām C programmēšanas tēmām:
- C cilnei
- C kamēr un dari … kamēr Loop
Pozitīvie skaitļi 1, 2, 3… ir pazīstami kā dabiskie skaitļi. Dabisko skaitļu summa līdz 10 ir:
summa = 1 + 2 + 3 +… + 10
Dabisko skaitļu summa, izmantojot cilpu
#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; )
Iepriekš minētā programma ņem ievadi no lietotāja un saglabā to mainīgajā n. Pēc tam for
cilpu izmanto, lai aprēķinātu summu līdz n.
Dabisko skaitļu summa, izmantojot cilpu
#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; )
Rezultāts
Ievadiet pozitīvu veselu skaitli: 100 Sum = 5050
Abās programmās cilpa tiek atkārtota n reizes. Katrā atkārtojumā i vērtība tiek pievienota summai, un i tiek palielināta ar 1
.
Lai gan abas programmas ir tehniski pareizas, for
šajā gadījumā labāk ir izmantot cilpu. Tas ir tāpēc, ka ir zināms atkārtojumu skaits.
Iepriekš minētās programmas nedarbojas pareizi, ja lietotājs ievada negatīvu veselu skaitli. Šeit ir neliela iepriekšminētās programmas modifikācija, kurā mēs turpinām ņemt ievadi no lietotāja, līdz tiek ievadīts pozitīvs vesels skaitlis.
Lasiet ievadi, līdz tiek ievadīts pozitīvs skaitlis
#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; )
Apmeklējiet šo lapu, lai uzzinātu, kā atrast dabisko skaitļu summu, izmantojot rekursiju.