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

namespace 一元二次方程函数解决
{
    class Program
    {
        static void Main(string[] args)
        {
            while (true)
            {
               
            Console.WriteLine("请为一元二次方程ax²+bx+c设置相关参数:");
            Console.WriteLine("请输入a:");
            int a = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入b:");
            int b = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入c:");
            int c = Convert.ToInt32(Console.ReadLine());
            double x1=0;  //定义两个变量用来接收out的x1与x2
            double x2=0;
            string s=  new Program().solve(a,b,c,out x1,out x2);    //调用函数solve 输入参数a,b,c用来进行函数运算及 除返回值外的参数 out x1 与out x2
            Console.WriteLine(s);
            Console.WriteLine("第一个根:"+x1);
            Console.WriteLine("第二个根:"+x2);
            Console.ReadLine();
            }

}
        /// <summary>
        /// 解方程
        /// </summary>
        /// <param name="a"></param>
        /// <param name="b"></param>
        /// <param name="c"></param>
        /// <returns></returns>
        public string solve(int a, int b, int c,out double x1,out double x2)  //定义一个函数 用来解方程
        {
            string s;
            int x=b*b-4*a*c;
            if (a > 0 || a < 0)
            {  
                if(x>0)
                {  
                    s = "该方程有两个不等的根"; 
                }
                else if(x==0)
                {
                    s = "该方程有两个相等的根";  
                }
                else
                {
                    s = "该方程无根";
                }
            }
            else
            {
                s = "该方程无根";
            }
            x1 = (-b + Math.Sqrt(x)) / (2 * a);  //Math.Sqrt(); 求平方根
            x2 = (-b - Math.Sqrt(x)) / (2 * a);
            return s;  //返回一个string类型的s
        }
    }
}

时间: 2024-10-25 23:24:02

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

关于函数返回值的几种情况

1.     如果返回一个基本类型的变量,比如: int a; a = 5; return a; 那么就会a的一个拷贝,即5返回,然后a就被销毁了.尽管a被销毁了,但它的副本5还是成功地返回了,所以这样做没有问题. 2.     但是对于非动态分配(new/malloc)得到的指针,像1那么做就会有问题,比如在某个函数内部: int a[] = {1, 2}; return a; 那么也会返回指针a的一个拷贝,我们假定a的地址值为0x002345FC,那么这个0x2345FC是能够成功返回的.当

Sql中联合查询中的”子查询返回的值不止一个“的问题

在子查询中,如果想实现如下的功能: select lib,count(*),select sum(newsNo) from Table1 group by lib from Tabel1 T1,Table2 T2 where T1.newsNo =T2.newsNo group by lib 就会提示“子查询返回的值不止一个.”的错误,意思是子查询不能返回多个结果,只能返回一个结果. 因此可以改用如下的方式: select lib,count(*),select sum(newsNo) from

对象做函数参数和函数返回值时,调用复制构造函数,构造函数,析构函数的情况

// 对象做函数参数和返回值.cpp : 定义控制台应用程序的入口点.//exit(0)表示正常退出程序,exit(0)表示异常退出 //在调用input时,编译器用对象A去创建了形参对象temp,调用了复制构造函数,对象A中的数据复制给了对象temp// 在input函数中,执行temp.set(s),为对象temp中数据成员str申请了动态储存空间,并设置了输入的字符串//并没有改变实参A中的数据成员str的储存空间,故在执行语句A.show()后输出的字符串并没有改变.在函数调用结束后 /

python之路——函数返回值return

return关键字 没有返回值 返回一个值 返回多个值 1.没有返回值 ----不写return的情况下,会默认返回一个None:下面的函数,就没有写return,这就是没有返回值的一种情况. #函数定义 def mylen(): """计算s1的长度""" s1 = "hello world" length = 0 for i in s1: length = length+1 print(length) #函数调用 str_

const修饰函数参数 const修饰函数返回值 const修饰成员函数

看到const 关键字,C++程序员首先想到的可能是const 常量.这可不是良好的条件反射.如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮.const 更大的魅力是它可以修饰函数的参数.返回值,甚至函数的定义体. const 是constant 的缩写,"恒定不变"的意思.被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性.所以很多C++程序设计书籍建议:"Use const whenever you need". 1

将引用作为函数返回值的优缺点

格式:类型标识符 &函数名(形参列表及类型说明){ //函数体 }好处:在内存中不产生被返回值的副本:(注意:正是因为这点原因,所以返回一个局部变量的引用是不可取的.因为随着该局部变量生存期的结束,相应的引用也会失效,产生runtime error!注意事项:(1)不能返回局部变量的引用.这条可以参照Effective C++[1]的Item 31.主要原因是局部变量会在函数返回后被销毁,因此被返回的引用就成为了"无所指"的引用,程序会进入未知状态.(2)不能返回函数内部new

linux编程中接收主函数返回值以及错误码提示

程序A创建子进程,并调用进程B,根据不调用的不同情况,最后显示结果不同. #include <stdio.h> #include <unistd.h> #include <sys/wait.h> #include <sys/types.h> #include <errno.h> int main() { pid_t pid, rpid; int stat; if ((pid = fork()) < 0) { perror("for

Linux Shell函数返回值

转:http://blog.csdn.net/ithomer/article/details/7954577 Shell函数返回值,一般有3种方式:return,argv,echo 1) return 语句shell函数的返回值,可以和其他语言的返回值一样,通过return语句返回.示例: [javascript] view plain copy print? #!/bin/bash - function mytest() { echo "arg1 = $1" if [ $1 = &q

const 小结: 做函数参数,做函数返回值,以及const函数

做函数参数 : 例如 fun(const int * i)参数i的值不能在fun()函数执行的过程中被修改,它将一直保持调用此函数时传入的值.如果试图修改i值的语句在fun()函数中出现,将导致程序无法编译,这样对参数i起到保护作用. 注:const 通常用来限制函数的指针参数,引用和数组参数,而一般形式的参数因为形参和实参本不是同一内存单元的变量,所以对形参的修改不会影响实参,因此也没有必要限制函数体不能对参数进行修改.  做函数返回值 : 函数返回值为 const 只有用在函数返回为引用的情