Отладка (C): различия между версиями
Перейти к навигации
Перейти к поиску
(Новая страница: «== Отладка == * [https://docs.microsoft.com/ru-ru/visualstudio/debugger/?view=vs-2019 Отладка в Visual Studio] * [https://www.jetbrains.com/help/cl...») |
|||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 1: | Строка 1: | ||
+ | {{TOCRight}} | ||
== Отладка == | == Отладка == | ||
* [https://docs.microsoft.com/ru-ru/visualstudio/debugger/?view=vs-2019 Отладка в Visual Studio] | * [https://docs.microsoft.com/ru-ru/visualstudio/debugger/?view=vs-2019 Отладка в Visual Studio] | ||
* [https://www.jetbrains.com/help/clion/debugging-code.html Отладка в CLion] | * [https://www.jetbrains.com/help/clion/debugging-code.html Отладка в CLion] | ||
+ | |||
+ | == Примеры == | ||
+ | === Простое число === | ||
+ | <syntaxhighlight lang="c" line> | ||
+ | #include <stdio.h> | ||
+ | #include <stdbool.h> | ||
+ | #include <math.h> | ||
+ | |||
+ | bool IsSimple(int num) { | ||
+ | bool simple = true; | ||
+ | for (int i = 2; i < trunc(sqrt(num)); ++i) { | ||
+ | if (num % i == 0) { | ||
+ | simple = false; | ||
+ | break; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | return simple; | ||
+ | } | ||
+ | |||
+ | int main() { | ||
+ | int n; | ||
+ | printf("Please, enter a number:\n"); | ||
+ | fflush(stdout); | ||
+ | scanf_s("%d", &n); | ||
+ | |||
+ | bool simple = IsSimple(n); | ||
+ | |||
+ | printf("Number %d is %s.", n, simple ? "simple" : "composite"); | ||
+ | fflush(stdout); | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === Числа Фибоначчи === | ||
+ | <syntaxhighlight lang="c" line> | ||
+ | #include <stdio.h> | ||
+ | |||
+ | int main() { | ||
+ | int n; | ||
+ | printf("Please, enter a number:\n"); | ||
+ | fflush(stdout); | ||
+ | scanf_s("%d", &n); | ||
+ | |||
+ | int a = 0; | ||
+ | int b = 1; | ||
+ | |||
+ | while(b < n) { | ||
+ | int tmp = a; | ||
+ | a = b; | ||
+ | b = tmp + b; | ||
+ | } | ||
+ | |||
+ | printf("Number %d is %sa fibonacci number.", n, (b == n) ? "" : "not "); | ||
+ | fflush(stdout); | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === Доброе утро мистер Иван === | ||
+ | <syntaxhighlight lang="c" line> | ||
+ | #include <stdio.h> | ||
+ | #include <string.h> | ||
+ | |||
+ | char *GoodMorning(char *n, char *t) { | ||
+ | char* intro = "Good morning "; | ||
+ | |||
+ | strcat(intro, " "); | ||
+ | strcat(intro, t); | ||
+ | strcat(intro, " "); | ||
+ | strcat(intro, n); | ||
+ | strcat(intro, "!"); | ||
+ | |||
+ | return intro; | ||
+ | } | ||
+ | |||
+ | int main() { | ||
+ | char* n = "Ivan"; | ||
+ | char* t = "mr."; | ||
+ | |||
+ | printf("%s", GoodMorning(n, t)); | ||
+ | fflush(stdout); | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === Факториал === | ||
+ | <syntaxhighlight lang="c" line> | ||
+ | // 5! = 1*2*3*4*5 | ||
+ | // 5! = 5*4*3*2*1 | ||
+ | // 4! = 4*3*2*1 | ||
+ | // 3! = 3*2*1 | ||
+ | // 2! = 2*1 | ||
+ | // 1! = 1 | ||
+ | // 5! = 5*4! | ||
+ | // 4! = 4*3! | ||
+ | // 3! = 3*2! | ||
+ | // 2! = 2*1! | ||
+ | // 1! = 1 | ||
+ | #include <stdio.h> | ||
+ | |||
+ | int factorial(int num) { | ||
+ | return (num == 1) ? 1 : num * factorial(num - 1); | ||
+ | } | ||
+ | |||
+ | int main() { | ||
+ | int n; | ||
+ | printf("Please, enter a number:\n"); | ||
+ | fflush(stdout); | ||
+ | scanf_s("%d", &n); | ||
+ | |||
+ | int f = factorial(n); | ||
+ | |||
+ | printf("%d! = %d", n, f); | ||
+ | fflush(stdout); | ||
+ | } | ||
+ | </syntaxhighlight> |
Текущая версия на 10:20, 15 июня 2021
Отладка
Примеры
Простое число
1 #include <stdio.h>
2 #include <stdbool.h>
3 #include <math.h>
4
5 bool IsSimple(int num) {
6 bool simple = true;
7 for (int i = 2; i < trunc(sqrt(num)); ++i) {
8 if (num % i == 0) {
9 simple = false;
10 break;
11 }
12 }
13
14 return simple;
15 }
16
17 int main() {
18 int n;
19 printf("Please, enter a number:\n");
20 fflush(stdout);
21 scanf_s("%d", &n);
22
23 bool simple = IsSimple(n);
24
25 printf("Number %d is %s.", n, simple ? "simple" : "composite");
26 fflush(stdout);
27 }
Числа Фибоначчи
1 #include <stdio.h>
2
3 int main() {
4 int n;
5 printf("Please, enter a number:\n");
6 fflush(stdout);
7 scanf_s("%d", &n);
8
9 int a = 0;
10 int b = 1;
11
12 while(b < n) {
13 int tmp = a;
14 a = b;
15 b = tmp + b;
16 }
17
18 printf("Number %d is %sa fibonacci number.", n, (b == n) ? "" : "not ");
19 fflush(stdout);
20 }
Доброе утро мистер Иван
1 #include <stdio.h>
2 #include <string.h>
3
4 char *GoodMorning(char *n, char *t) {
5 char* intro = "Good morning ";
6
7 strcat(intro, " ");
8 strcat(intro, t);
9 strcat(intro, " ");
10 strcat(intro, n);
11 strcat(intro, "!");
12
13 return intro;
14 }
15
16 int main() {
17 char* n = "Ivan";
18 char* t = "mr.";
19
20 printf("%s", GoodMorning(n, t));
21 fflush(stdout);
22 }
Факториал
1 // 5! = 1*2*3*4*5
2 // 5! = 5*4*3*2*1
3 // 4! = 4*3*2*1
4 // 3! = 3*2*1
5 // 2! = 2*1
6 // 1! = 1
7 // 5! = 5*4!
8 // 4! = 4*3!
9 // 3! = 3*2!
10 // 2! = 2*1!
11 // 1! = 1
12 #include <stdio.h>
13
14 int factorial(int num) {
15 return (num == 1) ? 1 : num * factorial(num - 1);
16 }
17
18 int main() {
19 int n;
20 printf("Please, enter a number:\n");
21 fflush(stdout);
22 scanf_s("%d", &n);
23
24 int f = factorial(n);
25
26 printf("%d! = %d", n, f);
27 fflush(stdout);
28 }