Найти синтаксические ошибки - C (СИ)
Формулировка задачи:
Я с СИ раньше не работал, помогите найти синтаксические ошибки в коде.
void main() { int a, b; // отрезок [a,b] int c, d; // отрезок [c,d] int L; // видимая длина отрезков // Ввести координаты первого отрезка [a, b] printf( "Input first segment:" ); printf( "\nbegin = " ); scanf( "%d", &a ); printf( "end = " ); scanf( "%d", &b ); // Ввести координаты второго отрезка [c, d] printf( "\nInput second segment:" ); printf( "\nbegin = " ); scanf( "%d", &c ); printf( "end = " ); scanf( "%d", &d ); // Рассчитать видимую длину отрезков L // Отрезки пересекаются if ((b<c) or (d<a)) { L=(b-a)+(d-c); } // Отрезки частично пересекаются или касаются друг друга if ((c>a) and (c<b) and (d<b)) { L=d-a; } if ((a>c) and (a<d) and (b>d)) { L=b-c; } // Один отрезок полностью принадлежит другому if ((c>=a) and (d<=b)) { L=b-a; } if ((a>=c) and (b<=d)) { L=c-d; } // Напечатать L printf("\nVisible length of the segment = %d", L ); }
Решение задачи: «Найти синтаксические ошибки»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> int main() { int a, b; // отрезок [a,b] int c, d; // отрезок [c,d] int L; // видимая длина отрезков // Ввести координаты первого отрезка [a, b] printf( "Input first segment:" ); printf( "\nbegin = " ); scanf( "%d", &a ); printf( "end = " ); scanf( "%d", &b ); // Ввести координаты второго отрезка [c, d] printf( "\nInput second segment:" ); printf( "\nbegin = " ); scanf( "%d", &c ); printf( "end = " ); scanf( "%d", &d ); // Рассчитать видимую длину отрезков L // Отрезки пересекаются if ((b<c) || (d<a)) { L=(b-a)+(d-c); } // Отрезки частично пересекаются или касаются друг друга if ((c>a) && (c<b) && (d<b)) { L=d-a; } if ((a>c) && (a<d) && (b>d)) { L=b-c; } // Один отрезок полностью принадлежит другому if ((c>=a) && (d<=b)) { L=b-a; } if ((a>=c) && (b<=d)) { L=c-d; } // Напечатать L printf("\nVisible length of the segment = %d", L ); return 0; }
Объяснение кода листинга программы
- Ввод данных:
Для каждого отрезка вводится его начало и конец с помощью функции
scanf()
. - Проверка на пересечение отрезков:
С помощью условного оператора
if
проверяется пересечение отрезков. - Вычисление видимой длины отрезка L: В зависимости от условий, вычисляется видимая длина отрезка L.
- Вывод результата:
С помощью функции
printf()
выводится видимая длина отрезка L.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д