Найти синтаксические ошибки - 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;
}

Объяснение кода листинга программы

  1. Ввод данных: Для каждого отрезка вводится его начало и конец с помощью функции scanf().
  2. Проверка на пересечение отрезков: С помощью условного оператора if проверяется пересечение отрезков.
  3. Вычисление видимой длины отрезка L: В зависимости от условий, вычисляется видимая длина отрезка L.
  4. Вывод результата: С помощью функции printf() выводится видимая длина отрезка L.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.182 из 5
Похожие ответы