• 求方程 ax^2+bx+c=0$的根,用3个函数分别求当: b^2-4ac大于0、等于0和小于0时的根并输出结果。从主函数输入a,b,c的值。


    求方程 ${ax}^2+bx+c=0$的根,用3个函数分别求当: $b^2-4ac$大于0、等于0和小于0时的根并输出结果。从主函数输入a,b,c的值。

    题目解析

    根据disc = $b^2-4ac$ 的值来决定如何求根,题目本身编程不难,不过需要同学们复习一下高中的数学知识哦。

    代码示例

    #include<stdio.h>
    #include<math.h>
    
    //x1为第一个根,x2为第二个根
    float x1, x2, disc, p, q;
    
    void greater_than_zero(float a, float b)
    {
    	float m = sqrt(disc);
    	x1 = (-b + sqrt(disc)) / (2 * a);
    	x2 = (-b - sqrt(disc)) / (2 * a);
    }
    
    void equal_to_zero(float a, float b)
    {
    	x1 = x2 = (-b) / (2 * a);
    }
    
    void smaller_than_zero(float a, float b)
    {
    	p = -b / (2 * a);
    	q = sqrt(-disc) / (2 * a);
    }
    
    int main()
    {
    	int a, b, c;
    	printf("请输入 a b c:");
    	scanf("%d %d %d", &a, &b, &c);
    
    	printf("表达式为: %d*x^2+%d*x+%d = 0
    ", a, b, c);
    	disc = b*b - 4 * a*c;
    
    	if (disc > 0)
    	{
    		greater_than_zero(a, b);
    		printf("disc>0的根为: x1=%f    x2=%f
    ", x1, x2);
    	}
    	else if (disc == 0)
    	{
    		equal_to_zero(a, b);
    		printf("disc==0的根为:x1=%f    x2=%f
    ", x1, x2);
    	}
    	else
    	{
    		smaller_than_zero(a, b);
    		printf("disc<0的根为:x1=%f+%f x2=%f-%f
    ", p, q, p, q);
    	}
    	return 0;
    }
    

    运行结果:

    求方程 ax^2+bx+c=0的根,用3个函数分别求当: $b^2-4ac$大于0、等于0和小于0时的根并输出结果。从主函数输入a,b,c的值。

  • 相关阅读:
    浏览器之window对象--javascript
    CSS3盒子模型
    CSS3动画以及animation事件
    CSS3响应式布局
    原生JS实现tab切换--web前端开发
    html5表单与PHP交互
    UITableView 的坑
    多线程:Operation(二)
    多线程:Operation(一)
    GCD(Swift)
  • 原文地址:https://www.cnblogs.com/weiyidedaan/p/13221564.html
Copyright © 2020-2023  润新知