c语言有没有大神,在线等,急
2个回答
展开全部
#include<stdio.h>
#include<math.h>
int main()
{
double a, b, c;
scanf("%lg,%lg,%lg", &a, &b, &c);
if (a == 0)
{
if (b == 0) // 题目已确认有解
{
/*if (c == 0)
{
printf("\nx可以为任意值");
}
else
{
printf("\nx无解");
}*/
}
else
{
double t = -1.0 * c / b;
printf("x=%.2f\n", t);//一元一次方程
}
}
else
{
int N = b * b - 4 * a * c;
double X = -1.0 * b / 2 / a;
if (N == 0)
{
printf("x1=%.2f,x2=%.2f\n", X, X);
}
else if (N > 0)
{
double Y = sqrt(N) / 2.0 / a;
printf("x1=%.2f,x2=%.2f\n", X + Y, X - Y);
}
else
{
double Y = sqrt(-1.0 * N) / 2 / a;
printf("x1=%.2f+%.2fi,x2=%.2f-%.2fi\n", X, Y, X, Y);
}
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define EXP 0.000000001
int main()
{
double a = 0.0, b = 0.0, c = 0.0;
double disc = 0.0;
double p1 = 0.0, p2 = 0.0;
printf("please enter a,b,c\n");
scanf("%lf,%lf,%lf", &a, &b, &c);
disc = b*b - 4 * a*c;
if ((a >= -EXP) && (a <= EXP))
{
if (disc == 0)
{
p1 = -b / (2 * a);
printf("x1=%.2f,x2=%.2f", p1, p1);
}
else if (b*b - 4 * a*c > 0)
{
p1 = (-b + sqrt(disc)) / (2 * a);
p2 = (-b - sqrt(disc)) / (2 * a);
printf("x1=%.2f,x2=%.2f", p1, p2);
}
}
return 0;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询