如果b^2-4ac<0,要求以负数形式输出!!要求程序能重复运行!!(我自己写了程序,帮忙做下修改调整)
#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c,disc;
double x1,x2;
char p,q;
char i;
char x3,x4;
printf("输入系数a,b,c:\n");
scanf("%f,%f,%f",&a,&b,&c);
disc=b*b-4*a*c;
if(disc>=0)
{
if(disc==0)
x1=x2=-b/(2*a);
else
{
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
}
printf("x1=%f,x2=%f",x1,x2);
}
else
{
p=-b/(2*a);
q=sqrt(disc)/(2*a);
printf("x3=%c+i%c,x4=%c-i%c",p,q);
}
}
#include<stdio.h>
#include<math.h>
#include<string.h>
void main ()
{
printf ("方程:a㎡+bm+c=0,求其根的情况。\n");
printf("请分别输入系数a和b,c的值:\n");
int a,b,c,D;
int x,x1,x2;
printf("a:\n");
scanf("%d",&a);
printf("b:\n");
scanf("%d",&b);
printf("c:\n");
scanf("%d",&c);
D=(b*b-4*a*c);
if(D>0)
{
void Test1();
}
if(D==0)
{
void Test();
}
if(D<0)
{
printf("该方程没有实根!\n");
}
}
void Test1(){
printf("该方程有两个实根!\n");
int a,b,c,D;
int x,x1,x2;
x1=(-b+sqrt(D))/2*a;
x2=(-b-sqrt(D))/2*a;
printf("该方程的解为:x1=%d\nx2=%d\n",x1,x2);
}
void Test2(){
int a,b,c,D;
int x,x1,x2;
printf("该方程有且只有一个实根!\n");
x=-b/(2*a);
printf("该方程的解为:x=%d\n",x);
}