Найти ошибку в коде - C (СИ) (70437)

Узнай цену своей работы

Формулировка задачи:

Подскажите,пожалуйста, в чем ошибка.
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
  float x,y,R;
  int s;
  clrscr();
  printf("\n Vvedite x= ");
  scanf("%f",&x);
  printf("\n Vvedite y= ");
  scanf("%f",&y);
  printf("\n Vvedite R= ");
  scanf("%f",&R);
    while (x>0 & y<0)
     {
      printf("\n Vvedite x= ");
      scanf("%f",&x);
      printf("\n Vvedite y= ");
      scanf("%f",&y);
     }
    if (x*x+y*y<R*R & y>-(x-R)*(x-R))
    {
       printf("\n s=1");
    }
      else if (x*x+y*y<R*R & y<-(x-R)*(x-R))
      {
         printf("\n s=2");
      }
        else if(x>R & y>-(x-R)*(x-R))
        {
          printf("\n s=3");
        }
          else if (x>R & y<-(x-R)*(x-R))
          {
           printf("\n s=4");
          }
getch();
return 0;
}

Решение задачи: «Найти ошибку в коде»

textual
Листинг программы
#define _CRT_SECURE_NO_WARNINGS
 
#include <cstdlib>
#include <cstdio>
#include <conio.h>
int main()
{
    float x, y, R;
 
    system("cls");
 
    printf("\n Vvedite x= ");
    scanf("%f", &x);
    printf("\n Vvedite y= ");
    scanf("%f", &y);
    printf("\n Vvedite R= ");
    scanf("%f", &R);
    while (x>0 && y<0)
    {
        printf("\n Vvedite x= ");
        scanf("%f", &x);
        printf("\n Vvedite y= ");
        scanf("%f", &y);
    }
    if (x*x + y*y<R*R && y>-(x - R)*(x - R))
    {
        printf("\n s=1");
    }
    else if (x*x + y*y<R*R && y<-(x - R)*(x - R))
    {
        printf("\n s=2");
    }
    else if (x>R && y>-(x - R)*(x - R))
    {
        printf("\n s=3");
    }
    else if (x>R && y<-(x - R)*(x - R))
    {
        printf("\n s=4");
    }
    _getch();
    return 0;
}

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

  1. В начале программы объявляются три переменные типа float: x, y, R.
  2. Затем с помощью функции system(cls) очищается экран.
  3. Далее с помощью функции printf выводится приглашение для ввода значений переменных x, y, R.
  4. Значения переменных x, y, R считываются с помощью функции scanf.
  5. Затем следует цикл while, который выполняется до тех пор, пока x больше нуля и y меньше нуля.
  6. Внутри цикла запрашиваются значения переменных x, y, R.
  7. После выхода из цикла while проверяется условие, и если оно выполняется, то выводится сообщение s=1.
  8. Если условие не выполняется, то проверяется следующее условие, и если оно выполняется, то выводится сообщение s=2.
  9. Если и это условие не выполняется, то проверяется следующее условие, и если оно выполняется, то выводится сообщение s=3.
  10. Если и это условие не выполняется, то проверяется последнее условие, и если оно выполняется, то выводится сообщение s=4.
  11. В конце программы вызывается функция _getch, которая ожидает нажатия клавиши.
  12. Возвращаемое значение функции main() равно 0, что означает успешный конец работы программы.

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


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

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

14   голосов , оценка 4 из 5