帮忙看看,结果是错误的,应该是int 与float转化的错误
#include<stdio.h>
#include<math.h>
int x(a,b,D)
{
int x1, x2;
x1 = (-b + sqrt(D)) /( 2 * a);
x2 = (-b - sqrt(D)) / (2 * a);
printf("函数有两个不相同的解%d,%d", x1, x2);
return 0;
}
int y(a,b,D)
{
int x1, x2;
x1 = x2 = (-b) / (2 * a);
printf("函数有两个相同的解%d", x1=x2);
return 0;
}
int z(a,b,D)
{
int d1,d2,e;
d1 = ( sqrt(-D)) / (2 * a);
d2 = ( sqrt(-D)) / (2 * a);
e = (-b) / (2 * a);
printf("函数有两个不相同的虚数根%d+%d*i,%d-%d*i",e,d1,e,d2);
return 0;
}
int main()
{
int a, b, c,D;
printf("请输入他们的序数");
scanf_s("%d %d %d", &a, &b, &c);
D = b * b - 4 * a*c;
if (D > 0)
{
x(a,b,D);
}
else if (D == 0)
{
y(a,b,D);
}
else
{
z(a,b,D);
}
return 0;
}