软1李卓轩


私信TA

用户名:EurasiasLzx

访问量:5141

签 名:

等  级
排  名 2777
经  验 2155
参赛次数 5
文章发表 8
年  龄 0
在职情况 学生
学  校 西安欧亚学院
专  业 软件工程

  自我简介:

解题思路:首先进行自定义函数,运用数学知识来列来列方程,共轭复根可以在输出时给带上。

注意事项:所输入的数一定要是浮点型。

参考代码:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[])
{
    float gen1(float a, float b, float c);
    float gen2(float a, float b, float c);
    float gen3(float a, float b, float c);
    float a, b, c, d;
    scanf("%f %f %f",&a, &b, &c);
    d = b * b - 4 * a * c;
    if (d > 0)
    {
        gen1(a, b, c);
    }
    else if (d == 0)
    {
        gen2(a, b, c);
    }
    else
    {
        gen3(a, b, c);
    }
    return 0;
}


float gen1(float a, float b, float c)
{
    float x1, x2, d;
    d = b * b - 4 * a * c;
    x1 = - b / (2 * a) + sqrt(d) / (2 * a);
    x2 = - b / (2 * a) - sqrt(d) / (2 * a);
    printf("x1=%.3f x2=%.3f",x1, x2);
}

float gen2(float a, float b, float c)
{
    float x1, x2, d;
    d = b * b - 4 * a * c;
    x1 = - b / (2 * a);
    x2 = - b / (2 * a);
    printf("x1=%.3f x2=%.3f",x1, x2);
}

float gen3(float a, float b, float c)
{
    float x1, x2, d;
    d = 4 * a * c - b * b;
    x1 = - b / (2 * a);
    x2 = - b / (2 * a);
    printf("x1=%.3f+%.3fi x2=%.3f-%.3fi",x1, sqrt(d) / (2 * a), x2, sqrt(d) / (2 * a) );
}

 

0.0分

4 人评分

  评论区

  • «
  • »