自定义函数fun1( )求解b2-4*a*c>0时的情况并输出结果;自定义函数fun2()求解b2-4*a*c=0时的情况并输出结果。从main函数输入a,b,c。
#include<stdio.h>
#include<math.h>
void fun1(int a,int b,int c)
{
?????
}
void fun2(int a,int b,int c)
{
????
}
int main()
int a,b,c,delta;
scanf("%d%d%d",&a,&b,&c);
delta=b*b-4*a*c;
if(delta>0)
fun1(a,b,c);
if(delta==0)
fun2(a,b,c);
return(0);
}
求???处所填。
#include<stdio.h>
#include<math.h>
int main ()
{
double a,b,c,d,p;
printf("请输入a,b,c 的值:");
scanf("%lf%lf%lf",&a,&b,&c);
if(a==0)
printf("不是二次方程");
else
{
d=b*b-4*a*c;
if(d==0)
{
printf("有两个相等的根\nx=%7.2lf\n",-b/(2*a));
}
if (d>0)
{
printf("有两个不相等的根\nX1=%7.2lf\nX2=%7.2lf\n",(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a));
}
if(d<0)
{
p=sqrt(-d/(2*a));
printf("有两个共轭复根\nX1=%7.2lfi-%7.2lf\nX2=%7.2lfi-%7.2lf\n",p,b/2,-p,b/2);
}
}
return 0;
}
scanf函数用法:
scanf("输入控制符",输入参数);
功能:将从键盘输入的字符转化为“输入控制符”所规定格式的数据,然后存入以输入参数的值为地址的变量中。
用scanf()函数以%s格式读入的数据不能含有空白符时,所有空白符都被当做数据结束的标志。所以题中函数输出的值只有空格前面的部分。
如果想要输出包括空格在内的所有数据,可以使用gets()函数读入数据。gets()函数的功能是读取字符串,并存放在指定的字符数组中,遇到换行符或文件结束标志时结束读入。换行符不作为读取串的内容,读取的换行符被转换为字符串结束标志'\0'。