函数解一元二次方程

namespace ConsoleApplication10
{
    class Program
    {

        //函数多个返回值、

            //输入参数前加out就变成输出参数

        public int jiefangcheng(int a, int b , int c,out double x1,out double x2)
        {
            x1 = 0;
            x2 = 0;
            if(0== b*b-4*a*c)
            {
                x1 = (-b) / (2 * a);
                x2 = x1;
                return 1;
            }

            else if (0 < b * b - 4 * a * c)
            {
                x1 = (-b + Math.Sqrt(b * b - 4.0 * a * c)) / (2.0 * a);
                x2 = (-b - Math.Sqrt(b * b - 4.0 * a * c)) / (2.0 * a);

                return 2;
            }
               else

            {
                return 0;
            }
        }
        static void Main(string[] args)
        {
            Console.WriteLine("请输入数值a");
            int a = int.Parse(Console.ReadLine());
            Console.WriteLine("请输入数值b");
            int b = int.Parse(Console.ReadLine());
            Console.WriteLine("请输入数值c");
            int c = int.Parse(Console.ReadLine());

            double x1, x2;
            int fanhui = new Program().jiefangcheng(a, b, c, out x1, out x2);

            if(fanhui ==0)
            {

                Console.WriteLine("两个相等的实数根");

                Console.ReadLine();
            }
        }
    }

  

时间: 2024-10-13 14:23:19

函数解一元二次方程的相关文章

C语言写解一元二次方程程序心得

前言:在网上看到不少解一元二次方程的小程序,在使用时总得出一大堆小数,感觉很不爽,遂自己重新写了一遍. 首先,先回忆一下一元二次方程的求根公式: 分别读取二次项.一次项和常数项系数并且求出delta 无解情况 此时同时输出delta的值,小于0,无解. 只有一个根的情况 当delta等于0,只有一个实数根,没什么好讲. 两个不相等实根的情况 重点就是这个部分. 为了避免一大堆小数的问题,分开sqrt(delta)是整数和非整数来.(如果是整数,则直接运算,如果不是整数,则保留根号) (1)sqr

解一元二次方程的解(网上找的,仅自用,非原创)

using System;class fangcheng{ public static void Main() { //声名变量 double a; double b; double c; double d; double e; double f; double g; double h; double i; double j; double k; Console.WriteLine("解一元二次方程"); //输入a的值 aa: Console.WriteLine("请输入a

函数——返回值不止一个的情况(解一元二次方程)

namespace 一元二次方程函数解决{    class Program    {        static void Main(string[] args)        {            while (true)            {                            Console.WriteLine("请为一元二次方程ax²+bx+c设置相关参数:");            Console.WriteLine("请输入a:&qu

if语句解一元二次方程~

#include<stdio.h>#include<math.h> void main(){  double a,b,c,x1,x2;  printf("请输入a");  scanf("%lf",&a);  printf("请输入b");  scanf("%lf",&b);  printf("请输入c");  scanf("%lf",&c)

P1619 解一元二次方程的烦恼题解

传送门:P1619 这道题题面比较长,但是作为一道模拟题还是又短又简单的你看看隔壁猪国杀蚂蚁.它的处理过程大致分为以下几步: 1.输入字符串,提取数字 2.质性判断 3.大小判断 4.分解质因数 5.返回第一步 明确了模拟过程后,我们开始逐一分析每步应该做的事情. 过程一:输入字符串,提取数字. 提取数字其实并不是什么难事,只需要将快速读入的代码改造一下就可以在这里使用不会快速读入?请左转百度.需要注意的是,平常的快速读入是逐字符进行读入,但在这里由于行内存在空格,建议直接读入一整行.具体细节见

poj 3911 Internet Service Providers 解一元二次方程

少有人做的水题,直接贴代码. //poj 3911 //sep9 #include <iostream> using namespace std; typedef long long ll; int main() { ll n,c; while(scanf("%lld%lld",&n,&c)==2){ if(n==0){ printf("0\n"); continue; } ll x=c/(2*n); ll y=x+1; printf(&

if else练习 (解一元二次方程)

public class cccc { /** * @param args */ public static void main(String[] args) { int a=10,b=11,c=12,d=b*b-4*a*c; if(a==0){ System.out.println("无值"); } else { if(d>0) {System.out.println("有两个不相等的实根");} else if(d==0) {System.out.prin

写一个方法来解析一元二次方程。

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 函数_解一元二次方程_ { class Program { public static int jiefangcheng(int a, int b, int c,out double x1,out double x2) { int jieguo = 0; x1 = 0; x2 = 0; if (a == 0

请定义一个函数 quadratic(a, b, c),接收 3 个参数,返回一元二次方程: ax2 + bx + c = 0 的两个解

import math # 定义一个函数,接受三个参数,返回一个一元二次方程的两个解 def quadratic(a,b,c): m=b*b-4*a*c if m>=0: x=(-b+math.sqrt(m))/(2*a) y=(-b-math.sqrt(m))/(2*a) return x,y else: return 'no answer!' print(quadratic(2,3,1)) # 快速复制到下一行,CTR+D. print(quadratic(1,3,1)) print(qua