[C算法]一元二次方程求根

//

//  main.c

//  一元二次方程求解

//

//  Created by 丁小未 on 13-7-9.

//  Copyright (c) 2013年 dingxiaowei. All rights reserved.

//

#include <stdio.h>

#include <math.h>

float O(float a,float b,float c)

{

    float res = b*b-4*a*c;

    if(res<0)

    {

        return -1;

    }

    else

    {

        return res;

    }

}

int main(int argc, const char * argv[])

{

    float a,b,c;

    char flag='y';

    printf("*******欢迎使用一元二次方程求根系统***************\n");

    do

    {

    do {

        printf("\n`请输入一元二次方程的a,b,c参数(例如1,4,4):");

        scanf("%f,%f,%f",&a,&b,&c);

    } while (0==a);

    float res;

    float x,y;

    res=O(a, b, c);

    if (res<0)

    {

        printf("方程无解!");

    }

    if(b*b==4*a*c)

    {

        x=(-b)/2*a;

        printf("方程的解:X=Y=%.2f",x);

    }

    if(res>0)

    {

        x=(-b+sqrtf(res))/2*a;

        y=(-b-sqrtf(res))/2*a;

        printf("方程的解:\nX=%.2f\nY=%.2f",x,y);

    }

    printf("\n您想继续吗?(y/n)");

    flag = getchar();  //要输入两次是清除之前获取到的留在缓存中的'\n'

    flag = getchar();

    }while ('y'==flag);

    return 0;

}

时间: 2024-08-24 05:52:02

[C算法]一元二次方程求根的相关文章

c语言基础问题-。。。简单的一元二次方程求根

问题描述 ...简单的一元二次方程求根 为何我输入1.0 5.0 4.0的时候会显示无解.... 解决方案 把输入的a,b,c都打印出来,double输入可以试下%lf. 解决方案二: 一元二次方程求根一元二次方程求根 解决方案三: scanf的问题,你在代码中这样写scanf("%f,%f,%f", &a, &b, &c);在程序执行后需要输入1.0,2.0,3.0才行,格式化输入,比较坑. 其次,通过scanf将一个浮点类型存放到double变量中,会出现问

C++通过自定义函数求一元二次方程的根_C 语言

本文实例讲述了C++通过自定义函数求一元二次方程的根.分享给大家供大家参考,具体如下: /* * 作 者: 刘同宾 * 完成日期:2012 年 11 月 24 日 * 版 本 号:v1.0 * 输入描述: * 问题描述: 求一元二次方程的根.定义函数 * 程序输出: * 问题分析:略 * 算法设计:略 */ #include<iostream> #include<cmath> using namespace std; double x,x1,x2,t; //定义全局变量 void

c++-求一元二次方程的根用N-S流程图怎么画

问题描述 求一元二次方程的根用N-S流程图怎么画 求一元二次方程的根用N-S流程图怎么画,用N-S!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 解决方案 写出求一元二次方程根的流程图

C++第9周项目5参考——求一元二次方程的根

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 [项目5:求一元二次方程的根]输入一元二次方程ax2+bx+c=0的各项系数,并根据各系数的值的情况,分别进行求解(如a=0时,实际上方程已经退化为一元一次方程). 参考解答: #include <iostream> #include <cmath> using namespace std; int main( ) { double a,b,c,x1,x2;

c++编写求解一元二次方程组根问题

问题描述 c++编写求解一元二次方程组根问题 总时间限制: 1000ms 内存限制: 65536kB 描述 利用公式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. 输入输入一行,包含三个浮点数a, b, c(它们之间以一个空格分开),分别表示方程ax2 + bx + c =0的系数.输出输出一行,表示方程的解. 若两个实根相等,则输出形式为:x

一元二次方程,运算符的优先级

字符串处理函数 作业:求一元二次方程的根 // //  main.c //  一元二次方程求解 // //  Created by 丁小未 on 13-7-9. //  Copyright (c) 2013年 dingxiaowei. All rights reserved. // #include <stdio.h> #include <math.h> float O(float a,float b,float c) {     float res = b*b-4*a*c;  

求解一元二次方程AX^2+BX+C=0的根

问题描述 用VB.NET编写求解一元二次方程AX^2+BX+C=0的根 解决方案 解决方案二:不是有求根公式嘛,把数字套套进去就可以了.解决方案三:对哦,用公式就好了这些都还给老师了...解决方案四:x1=(-b+根号(b2-4ac))/2x2=(-b-根号(b2-4ac))/2解决方案五:x1=(-1*b+sqr(b^2-4*a*c))/2x2=(-1*b-sqr(b^2-4*a*c))/2解决方案六:x1=(-b+(b^2-4*a*c)^0.5)/2*ax2=(-b-(b^2-4*a*c)^

求一元二次方程界面

问题描述 初接触C#,想学习计算界面的制作一元二次方程,如a*x^2+b*x+c=0ab为常量,a1.a2.a3.a4.a5.a6.a7.a8.a9.a10b1.b2.b3.b4.b5.b6.b7.b8.b9.b10均有输入框.下面空白处为输出x为实根列表a1.a2.a3.a4.a5.a6.a7.a8.a9.a10为列b1.b2.b3.b4.b5.b6.b7.b8.b9.b10为行输入ab,点"计算"按钮即出结果.如果有简单类似的计算界面模板也可以,谢谢! 解决方案 解决方案二:我刚来

math-简单的一元二次方程 Python

问题描述 简单的一元二次方程 Python -*- coding: cp936 -*- abc = input(""Please input abc"")from math import sqrtd = b*b-4*a*cif(a == 0): x1 = x2 = -c/b print ""该方程不是一元二次方程,x=",x1elif (d>0): x1 = (-b+sqrt(d))/(2*a) x2 = (-b-sqrt(d))