c语言简单题!!

利用公式
x1 = (-b + sqrt(b*b-4*a*c))/(2*a)
x2 = (-b - sqrt(b*b-4*a*c))/(2*a)
求一元二次方程 ax2 + bx + c = 0 的根,其中a不等于0。

关于输入
第一行是待解方程的数目n。
其余n行每行含三个浮点数a, b, c(它们之间用空格隔开),分别表示方程ax2 + bx + c =0的系数

关于输出
输出共有n行,每行是一个方程的根:
若是两个实根,则输出:x1=...;x2 = ...
若两个实根相等,则输出:x1=x2=...
若是两个虚根,则输出:x1=实部+虚部i; x2=实部-虚部i

所有实数部分要求精确到小数点后5位,数字、符号之间没有空格
晕 哪本书?.....

x2 = (-b - sqrt(b*b-4*a*c))/(2*a)
求一元二次方程 ax2 + bx + c = 0 的根,其中a不等于0。

关于输入
第一行是待解方程的数目n。
其余n行每行含三个浮点数a, b, c(它们之间用空格隔开),分别表示方程ax2 + bx + c =0的系数

关于输出
输出共有n行,每行是一个方程的根:
若是两个实根,则输出:x1=...;x2 = ...
若两个实根相等,则输出:x1=x2=...
若是两个虚根,则输出:x1=实部+虚部i; x2=实部-虚部i

所有实数部分要求精确到小数点后5位,数字、符号之间没有空格
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-10-24
不好意思啊 可能你们没有用这版课本 我开始一位是我们学校的人搞恶作剧 开始的话我收回好吗
新世纪C语言程序设计第二版 谭浩强著101面例5.6 也就是第五章 选择机构程序设计第五节
程序是 我自己运行过了 没有错误 可以直接移植 呵呵 其实这种程序自己也可以写出来拉
努力学吧 (*^__^*) 嘻嘻…… 有空在大家一起交流 我的QQ:471442209
#include<math.h>
#include<stdio.h>
void main()
{
float a,b,c,d,disc,x1,x2,realpart,imagapart;
scanf("%f,%f,%f",&a,&b,&c);
printf("the equation");
if(fabs(a)<=6)
printf("is not quadratic");
else
disc=b*b-4*a*c;

if(fabs(disc)<=1e-6)
printf("has two equal roots:%8.4f\n",-b/(2*a));
else if(disc>1e-6)
{
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf("has distinct real roots:%8.4fand%8.4f\n",x1,x2);
}
else
{
realpart=-b/(2*a);
imagapart=sqrt(-disc)/(2*a);
printf("has complax root:\n");
printf("%8.4f+%8.4fi\n",realpart,imagapart);
printf("%8.4f-%8.4fi\n",realpart,imagapart);
}

}

}
相似回答