分享

2000

 玉诗 2015-03-19
2000 一元二次方程的根

Time Limit: 1000ms   Memony Limit: 32768KB
description
求a*x^2+b*x+c=0方程的根。
Input
输入有若干行,每行三个实数表示a、b、c。以0 0 0表示输入结束。
Output
对于每一行,如果无解就输出“Unanswered”。如果有解就按从小到大的方式输出,格式为:“x1=1.00 x2=2.00”。(结果保留2位小数)。
Sample Input
1 -2 1
1 1 1
1 0 -1.21
0 0 0
Sample Output
x1=1.00 x2=1.00
Unanswered
x1=-1.10 x2=1.10



#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c;
float disc;
float x1,x2;

while(scanf("%f%f%f",&a,&b,&c)!=EOF)
{
if(a==0&&b==0&&c==0) break;

if(fabs(a)<=1e-6)
printf("Unanswered\n");
else
{disc=b*b-4*a*c;
if(fabs(disc)<=1e-6)
printf("x1=%.2f x2=%.2f\n",-b/(2*a),-b/(2*a));
else
if(disc>1e-6)
{x2=(-b+sqrt(disc))/(2*a);
x1=(-b-sqrt(disc))/(2*a);
printf("x1=%.2f x2=%.2f\n",x1,x2);
}
else
printf("Unanswered\n");



}

}

return 0;
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多