Найдите действительные корни уравнения - C (СИ)
Формулировка задачи:
Задача 1:Даны числа a,b,c.Найдите действительные корни уравнения ax(в квадрате)+bx+c=0,или выдайте что корней нет.
Задача 2:Дано натуральное число n(n<100) определяющее возраст человека.Выведите за этим числом наименование "год","года","лет".
В 1-ом случае ошибку выдаёт,а во 2-ом не может к числу присвоить правильно к наименованию,где-то ошибся не могу найти.
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main(){
int a,b,c,p,s;
cin>>a>>b>>c;
p=2*a*b;
p*s=a+b/2;
if (a>b){
b=p*s;
a=p;
cout<<a<<b;
}
else
{
a=p*s;
b=p;
cout<<"Kornei Net";
}
}#include <stdio.h>
#include <conio.h>
void main(){
int n,d;
printf("Vvedite chislo: ");
scanf("%d",&n);
if ((n%10==1))
printf("%d god",n);
else
if ((n%10>1)&&(n%10<5)&&(n%100<10))
printf("%d goda",n);
else
printf("%d let",n);
getch();
}Решение задачи: «Найдите действительные корни уравнения»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{
int a,b,c,d;
printf("Enter a -> ");
scanf("%d",&a);
printf("Enter b -> ");
scanf("%d",&b);
printf("Enter c -> ");
scanf("%d",&c);
d=(b*b)-4*a*c;
if(d>0)
{
printf("x1 = %0.3f\n",(float)((-b+sqrt((float)d))/2*a));
printf("x2 = %0.3f",(float)((-b-sqrt((float)d))/2*a));
}
if(d==0)
{
printf("x1= x2 = %0.3f",(float)((-b)/2*a));
}
if(d<0)
{
printf ("No roots!!!");
}
getch();
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Введены четыре переменные типа int: a, b, c и d.
- Пользователю предлагается ввести значения для переменных a, b и c с помощью функции scanf.
- Значение переменной d вычисляется как (bb)-4a*c.
- Используя условный оператор if, проверяется значение переменной d. Если d больше нуля, то выводятся значения x1 и x2 с помощью функции printf. Если d равно нулю, то выводится одно значение x1=x2. Если d меньше нуля, то выводится сообщение
No roots!!! - В конце программы вызывается функция getch для приостановки выполнения программы до тех пор, пока пользователь не нажмет клавишу.
- Программа возвращает 0, что означает успешное завершение.