倒數第二行getch()改為:getchar()
我已經用Microso visual C++運行過了,改過之後就正確了。
此外我這還有壹個求根的c語言程序,是把s<0時的情況,考慮進來。此時結果為復根,妳也可以看看。程序如下:
#include<stdio.h>
#include<math.h>
float x1,x2,p,q,d;
void great(float,float);
void equal(float,float);
void small(float,float);
main()
{
float a,b,c;
printf("Enter a,b,c:");
scanf("%f%f%f",&a,&b,&c);
d=b*b-4*a*c;
if(d>0)
{
great(a,b);
printf("x1=%5.2f,x2=%5.2f",x1,x2);
}
else if(d==0)
{
equal(a,b);
printf("x1=x2=%5.2f",x1);
}
else if(d<0)
{
small(a,b);
printf("x1=%5.2f+%5.2f",p,q);
printf("x2=%5.2f-%5.2f",p,q);
}
return 0;
}
void great(float x,float y)
{
x1=(-y+sqrt(d))/(2*x);
x2=(-y-sqrt(d))/(2*x);
return ;
}
void equal(float x,float y)
{
x1=-y/(2*x);
return ;
}
void small(float x,float y)
{
p=-y/(2*x);
q=sqrt(-d)/(2*x);
return ;
}