Найти ошибку в коде - 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;
- }
Объяснение кода листинга программы
- В начале программы объявляются три переменные типа float: x, y, R.
- Затем с помощью функции system(
cls
) очищается экран. - Далее с помощью функции printf выводится приглашение для ввода значений переменных x, y, R.
- Значения переменных x, y, R считываются с помощью функции scanf.
- Затем следует цикл while, который выполняется до тех пор, пока x больше нуля и y меньше нуля.
- Внутри цикла запрашиваются значения переменных x, y, R.
- После выхода из цикла while проверяется условие, и если оно выполняется, то выводится сообщение
s=1
. - Если условие не выполняется, то проверяется следующее условие, и если оно выполняется, то выводится сообщение
s=2
. - Если и это условие не выполняется, то проверяется следующее условие, и если оно выполняется, то выводится сообщение
s=3
. - Если и это условие не выполняется, то проверяется последнее условие, и если оно выполняется, то выводится сообщение
s=4
. - В конце программы вызывается функция _getch, которая ожидает нажатия клавиши.
- Возвращаемое значение функции main() равно 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д