Решение линейного уравнения

12 сентября 2018 - Администратор

Решение уравнения на Си.Программа на си должна решать линейное уравнение

Задается линейное уравнение ax=b. Задаются параметры уравнения a и b. Программа определяет, есть ли решение уранвения, если решение есть,то оно выводится на экран.При написании программы полезными будет уроки Ввод данных с клавиатуры в Си и Логические операции в Си Описание алгоритма решения линейного уравнения на Си. В начале программы с клавиатуры задаются значения параметров уравнения a и b.
В уравнении ax=b необходимо проанализировать все возможные варианты.
Если a=0 и b=0, то решение уравнения это любое действительное число
Если a=0 b и b≠0,т уравнения не имеет решений
Если a≠0,то решение уравнения рассчитывается по формуле x=b/a
Чтобы проверить выполнение двух условий одновременно, необходимо использовать логическую функцию И. В Си он задается с помощью &&.

Возможный вариант реализации программа на си решение линейного уравнения
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

main()
{
float a; // коэффициент при x
float b; // свободный
printf("Решаем линейное уравнение ax=b \n");
printf ("Введите  коэффициент a \n");
scanf("%f", &a);
printf ("Введите свободный член b \n");
scanf("%f", &b);
printf ("Ищем решение уравнения %gx=%g \n", a,b);
if (a==0 && b==0){printf ("Решение  уравнение любое число \n");}
if (a==0 && !(b==0)){printf ("Уравнение не имеет решения \n");}
if (!(a==0)){printf ("Уравнение  имеет единственное решение x= %g", b/a );}
getch();      
}       

На заметку.
1.Чтобы вывести вещественное число на экран без лишних нулей используется %g
printf ("Ищем решение уравнения %gx=%g ", a,b);
2.Чтобы задать условие равенства 0 используется ==. Например условие a=0 задается в Си a==0. Чтобы задать условие не равенства 0 используется логическое отрицание, которое задается знаком !  Например b≠0 задается в Си  !(b==0)
Задания для самостоятельной работы:
1.Решение квадратного уравнения. Задается уравнение ax^2+bx+c=0. Задаются параметры a и b и c с клавиатуры.  Определяется дискриминант. Если решения есть ,  то выводятся на экран, если решения нет то сообщается об этом.
В этой программе необходимо вычислить дискриминант d=b*b-4*a*c
Если  d<0 то действительных решений нет
Если d=0, то одно решение x=-b/2*a
Если d>0,  то два решения x1=(-b+sqrt(d))/2a  и x2 =(-b-sqrt(d))/2a 

Возможный вариант реализации программа на си решение квадратного уравнения

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>

main()
{
float a; // коэффициент при x^2
float b; // коэффицент при x
float c;// свободный член
float d;// переменная для дискрименанта

float x1;// переменная для первого корня
float x2;// перменная для второго корня

// ввод коэффициентов уравнения

printf ("Введите коэффициент a \n");
scanf("%f", &a);
printf ("Введите коэффициент b \n");
scanf("%f", &b);
printf ("Введите свободный член с\n");
scanf("%f", &c);
printf ("Ищем решение уравнения %gx^2+%gx+%g=0\n", a,b,c);
// расчет дискрименанта
d=b*b-4*a*c;

// анализ дискрименанта
if (d<0){ printf("Уравнение не имеет действительных корней\n");}
if (d==0)
{
 x1=-b/(2*a);
 printf ("Уравнение имеет единственный корень x=%g\n", x1);     
         }

if (d>0)
{
 x1=(-b+sqrt(d))/(2*a);
 x2=(-b-sqrt(d))/(2*a);
 printf ("Уравнение имеет два корня\n");
 printf("x1=%g\n",x1);
 printf("x2=%g\n",x2);      

}
getch();      
}       

Вернуться к содержанию

Полезно почитать по теме условия в си

Условия в Си
Пример программы на си диалог с компьютером на си, тест на си

Поделиться

 
Комментарии (0)

Нет комментариев. Ваш будет первым!