【C语言】之''解一元二次方程''

老师平时布置的希冀系统上的作业答案,仅供参考!

【问题描述】

ax2+bx+c=0 方程的根

【输入形式】

输入a,b,c的值,a,b,c为整数

【输出形式】

输出方程的解,如果方程无解输出“no”,如果方程有一个解,输出x1=x2=a,如果方程有两个解输出x1=a,x2=b;x1<x2。方程的根保留两位有效数字。

【样例输入】

1 2 1

【样例输出】

x1=x2=-1.00

【样例输入】

2 1 1

【样例输出】

no

【样例输入】

1 -5 6

【样例输出】

x1=2.00,x2=3.00

【答案】

#include<stdio.h>
#include<math.h>
int main()
{
    int a,b,c;
    float d,s,x1,x2;
    scanf("%d%d%d",&a,&b,&c);
    d=b*b-4*a*c;
    if(d<0)
        printf("no");
    else if(d>=0)
    {
        s=sqrt(d);
        x1=((-b+s)/2*a);
        x2=((-b-s)/2*a);
        if(x1==x2)
        {
        printf("x1=x2=%.2f",x1);
        }
        else if(x1>x2)
        {
           printf("x1=%.2f",x2);
           printf(",x2=%.2f",x1);

        }
        else
        {
           printf("x1=%.2f",x1);
           printf(",x2=%.2f",x2);
        }


    }


}
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容