Найти корни уравнения - C (СИ) (75247)
Формулировка задачи:
Много!! Помогите перепмсать программу с паскаля на с. Заранее спасибо!!
Program Sq2;
Var A, B, C, D, X, X1, X2: Real;
Begin
Writeln ('vvedite a,b,c ');
readln(a,b,c);
If A=0 Then
If B=0 Then
If C=0 Then Writeln('X - luboе chislo')
Else Writeln('Корней нет! ')
Else
Begin
X:=-C/B;
Writeln('X=',X:2:3);
End
Else
Begin
D:=B*B-4*A*C;
If D<0 Then Writeln ('korney net')
Else
Begin
X1:=(-B+SQRT(D))/2/A;
X2:=(-B-SQRT(D))/2/A;
Writeln ('X1=', X1:2:3, ' X2=',X2:2:3);
writeln ('program zav. press ente');
End;
End;
End.
Извиняюсь парни вот эту плиз перепешите.
Program kvadratnoe_uravnenie;
Var
a, b, c, d, x1, x2, x: real;
begin
writeln('Enter a, b, c');
readln(a, b, c);
if a = 0 then
writeln('vvedite drugoe znachenie')
else
begin
d := b*b - 4*a*c;
if d < 0 then
writeln('Net korney')
else
begin
if d > 0 then
begin
x1 := (-b - sqrt(d))/2/a;
x2 := (-b + sqrt(d))/2/a;
writeln(x1:2:3, ' ', x2:2:3);
end
else
begin
x := -b/2/a;
writeln(x:2:3);
end;
end;
end;
end.Решение задачи: «Найти корни уравнения»
textual
Листинг программы
/*
* Generated by TPTC - Translate Pascal to C
* Version 1.7 03/26/88 (C) 1988 S.H.Smith
*/
//#include "tptcmac.h"
#include <stdio.h>
/* Program kvadratnoe_uravnenie */
void main(int argc,
char *argv[])
{
float a, b, c, d, x1, x2, x;
printf("Enter a, b, c\n");
fscanf(stdin,"%f%f%f\n",&a,&b,&c);
if (a == 0)
printf("vvedite drugoe znachenie\n");
else
{
d = b * b - 4 * a * c;
if (d < 0)
printf("Net korney\n");
else
{
if (d > 0)
{
x1 = (-b - sqrt(d)) / 2 / a;
x2 = (-b + sqrt(d)) / 2 / a;
printf("%2.3f %2.3f\n",x1,x2);
}
else
{
x = -b / 2 / a;
printf("%2.3f\n",x);
}
}
}
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Объявляем переменные типа float для хранения коэффициентов уравнения и его корней
- Выводим приглашение для ввода коэффициентов уравнения
- Считываем значения коэффициентов с помощью функции fscanf, сохраняем их в соответствующих переменных
- Проверяем, равен ли коэффициент a нулю. Если да, выводим сообщение об ошибке и завершаем работу программы
- Если a не равен нулю, вычисляем дискриминант (значение переменной d)
- Проверяем значение дискриминанта. Если оно отрицательное, выводим сообщение о том, что корней нет
- Если дискриминант больше нуля, вычисляем значения корней (x1 и x2) и выводим их на экран
- Если дискриминант равен нулю, вычисляем значение корня (x) и выводим его на экран
- Завершаем работу программы