Алгоритмы (C): различия между версиями
		
		
		
		
		
		Перейти к навигации
		Перейти к поиску
		
				
		
		
	
| Строка 172: | Строка 172: | ||
| === Найти сумму цифр целого числа m === | === Найти сумму цифр целого числа m === | ||
| <syntaxhighlight lang="c" line> | <syntaxhighlight lang="c" line> | ||
| + | #include <stdio.h> | ||
| + | #include <windows.h> | ||
| + | int main() { | ||
| + |     SetConsoleOutputCP(CP_UTF8); | ||
| + |     int m; | ||
| + | |||
| + |     printf("Введите целое число m:"); | ||
| + |     scanf_s("%d", &m); | ||
| + | |||
| + |     int s = 0; | ||
| + |     int m1 = abs(m); | ||
| + | |||
| + |     while (m1 > 0) { | ||
| + |         s += m1 % 10; | ||
| + |         m1 = m1 / 10; | ||
| + |     } | ||
| + | |||
| + |     printf("Сумма цифр числа %d равна %d", m, s); | ||
| + | } | ||
| </syntaxhighlight> | </syntaxhighlight> | ||
Версия 15:27, 5 июня 2021
Код программ
Сумма вводимых целых чисел
 1 #include <stdio.h>
 2 #include <windows.h>
 3 
 4 int main() {
 5     SetConsoleOutputCP(CP_UTF8);
 6     int n, x;
 7 
 8     printf("Введите число слагаемых:");
 9     scanf_s("%d", &n);
10 
11     int s = 0;
12     for(int i = 1; i <= n; i++) {
13         printf("Введите слагаемое №%d:", i);
14         scanf_s("%d", &x);
15         s += x;
16     }
17 
18     printf("Сумма равна %d", s);
19 }
Произведение целых чисел
 1 #include <stdio.h>
 2 #include <windows.h>
 3 
 4 int main() {
 5     SetConsoleOutputCP(CP_UTF8);
 6     int n, x;
 7 
 8     printf("Введите число множителей:");
 9     scanf_s("%d", &n);
10 
11     int p = 1;
12     for(int i = 1; i <= n; i++) {
13         printf("Введите множитель №%d:", i);
14         scanf_s("%d", &x);
15         p *= x;
16     }
17 
18     printf("Произведение равно %d", p);
19 }
Сколько нечетных среди n введенных
 1 #include <stdio.h>
 2 #include <windows.h>
 3 
 4 int main() {
 5     SetConsoleOutputCP(CP_UTF8);
 6     int n, x;
 7 
 8     printf("Введите n:");
 9     scanf_s("%d", &n);
10 
11     int c = 0;
12     for(int i = 1; i <= n; i++) {
13         printf("Введите целое число:");
14         scanf_s("%d", &x);
15         if (x % 2 != 0) {
16             c++;
17         }
18     }
19 
20     printf("Количество нечетных равно %d", c);
21 }
Защита от неверного ввода
 1 #include <stdio.h>
 2 #include <windows.h>
 3 
 4 int main() {
 5     SetConsoleOutputCP(CP_UTF8);
 6     float x;
 7 
 8     do {
 9         printf("Введите x>0:");
10         scanf_s("%f", &x);
11         if (x <= 0) {
12             printf("Неверный ввод\n");
13         }
14     } while (x <= 0);
15 }
Вывод 10 первых степеней двойки
 1 #include <stdio.h>
 2 #include <windows.h>
 3 
 4 int main() {
 5     SetConsoleOutputCP(CP_UTF8);
 6     int x = 2;
 7 
 8     for (int i = 1; i <= 10; i++) {
 9         printf("%3d %5d\n", i, x);
10         x *= 2;
11     }
12 }
Вывод всех двухзначных чисел, кратных 5
 1 #include <stdio.h>
 2 #include <windows.h>
 3 
 4 int main() {
 5     SetConsoleOutputCP(CP_UTF8);
 6     int x = 10;
 7 
 8     while (x < 100) {
 9         printf("%3d\n", x);
10         x += 5;
11     }
12 }
Вывод n первых чисел Фибоначчи
 1 #include <stdio.h>
 2 #include <windows.h>
 3 
 4 int main() {
 5     SetConsoleOutputCP(CP_UTF8);
 6     int n, a, b;
 7 
 8     printf("Введите целое число n (n > 1):");
 9     scanf_s("%d", &n);
10 
11     a = 1; b = 1;
12     printf("%d %d ", a, b);
13     for (int i = 1; i <= n - 2; ++i) {
14         int tmp = a;
15         a = b;
16         b += tmp;
17         printf("%d ", b);
18     }
19 }
Найти НОД(A,B), используя алгоритм Евклида:
 1 #include <stdio.h>
 2 #include <windows.h>
 3 
 4 int main() {
 5     SetConsoleOutputCP(CP_UTF8);
 6     int a, b;
 7 
 8     printf("Введите целое число a:");
 9     scanf_s("%d", &a);
10     printf("Введите целое число b:");
11     scanf_s("%d", &b);
12 
13     while (b != 0) {
14         int tmp = a;
15         a = b;
16         b = tmp % b;
17     }
18 
19     printf("НОД(A, B) = %d", a);
20 }
Найти сумму цифр целого числа m
 1 #include <stdio.h>
 2 #include <windows.h>
 3 
 4 int main() {
 5     SetConsoleOutputCP(CP_UTF8);
 6     int m;
 7 
 8     printf("Введите целое число m:");
 9     scanf_s("%d", &m);
10 
11     int s = 0;
12     int m1 = abs(m);
13 
14     while (m1 > 0) {
15         s += m1 % 10;
16         m1 = m1 / 10;
17     }
18 
19     printf("Сумма цифр числа %d равна %d", m, s);
20 }