Си. Проверьте, пожалуйста, программу!!!
Здравствуйте, дана следующая задача:
необходимо найти решения биквадратного уравнения. Решила . но не знаю правильно или нет. помогите пожалуйста найти ошибку. #include<stdio.h> include <math.h> double so(double d); {d=d*b-4*a*c; return d;} double main(); {double a,b,c,y1,y2,x1,x2,x3,x4; printf("ввод a="); scanf("%a",lea); printf("ввод b="); scanf("%a",leb); printf("ввод c="); scanf("%a",lec); if d>=o{ y1=(-b-sqrt(d))/(2*a); y2=(-b+sqrt(d))/(2*a);} if (d<0) printf("действительных корней нет"); else if (y1>=0) and (y2>=0) {x1=sqrt(y1); x2=-x1; x3=sqrt(y2); x4=-x3; printf("%le",x1,"%le",x2,"%le",x3,"%le",x4);} else {if (y1<0) and (y2>=0)) {x1=sqrt(y2); x2=-x1;} else {x1=sqrt(y1); x2=-x1; {printf("%le",x1,"%le",x2)} } |
Так, ну в СИ я ни бельмеса, но ошибки торчат.
1. У Вас: d=d*b-4*a*c; Надо: d=b*b-4*a*c; 2. У Вас: if d>=o Надо: if d>=0 (ноль, а НЕ буква "о") 3. Вот этот фрагмент в самом конце: else {x1=sqrt(y1); x2=-x1; {printf("%le",x1,"%le",x2)} содержит сразу две ошибки: а) Под Ваше "else" подпадает не только случай, когда у1>0, а y2<0, но и ситуация, когда у1<0 и y2<0, которая в программе вообще не рассмотрена, а надо! Т.е. требуется добавить еще одну ветку ветвления if. b) Фигурная скобка перед printf - лишняя. |
Часовой пояс GMT +4, время: 15:43. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.