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

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

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

Подскажите,пожалуйста, в чем ошибка.
Листинг программы
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<math.h>
  4. int main()
  5. {
  6. float x,y,R;
  7. int s;
  8. clrscr();
  9. printf("\n Vvedite x= ");
  10. scanf("%f",&x);
  11. printf("\n Vvedite y= ");
  12. scanf("%f",&y);
  13. printf("\n Vvedite R= ");
  14. scanf("%f",&R);
  15. while (x>0 & y<0)
  16. {
  17. printf("\n Vvedite x= ");
  18. scanf("%f",&x);
  19. printf("\n Vvedite y= ");
  20. scanf("%f",&y);
  21. }
  22. if (x*x+y*y<R*R & y>-(x-R)*(x-R))
  23. {
  24. printf("\n s=1");
  25. }
  26. else if (x*x+y*y<R*R & y<-(x-R)*(x-R))
  27. {
  28. printf("\n s=2");
  29. }
  30. else if(x>R & y>-(x-R)*(x-R))
  31. {
  32. printf("\n s=3");
  33. }
  34. else if (x>R & y<-(x-R)*(x-R))
  35. {
  36. printf("\n s=4");
  37. }
  38. getch();
  39. return 0;
  40. }

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

textual
Листинг программы
  1. #define _CRT_SECURE_NO_WARNINGS
  2.  
  3. #include <cstdlib>
  4. #include <cstdio>
  5. #include <conio.h>
  6. int main()
  7. {
  8.     float x, y, R;
  9.  
  10.     system("cls");
  11.  
  12.     printf("\n Vvedite x= ");
  13.     scanf("%f", &x);
  14.     printf("\n Vvedite y= ");
  15.     scanf("%f", &y);
  16.     printf("\n Vvedite R= ");
  17.     scanf("%f", &R);
  18.     while (x>0 && y<0)
  19.     {
  20.         printf("\n Vvedite x= ");
  21.         scanf("%f", &x);
  22.         printf("\n Vvedite y= ");
  23.         scanf("%f", &y);
  24.     }
  25.     if (x*x + y*y<R*R && y>-(x - R)*(x - R))
  26.     {
  27.         printf("\n s=1");
  28.     }
  29.     else if (x*x + y*y<R*R && y<-(x - R)*(x - R))
  30.     {
  31.         printf("\n s=2");
  32.     }
  33.     else if (x>R && y>-(x - R)*(x - R))
  34.     {
  35.         printf("\n s=3");
  36.     }
  37.     else if (x>R && y<-(x - R)*(x - R))
  38.     {
  39.         printf("\n s=4");
  40.     }
  41.     _getch();
  42.     return 0;
  43. }

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

  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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут