黑马程序员技术交流社区

标题: 编写c#控制台应用程序,在其中定义方法calculate [打印本页]

作者: 管真    时间: 2012-10-17 14:25
标题: 编写c#控制台应用程序,在其中定义方法calculate
编写c#控制台应用程序,在其中定义方法calculate,他可以接受一个double[]数组的输入参数,计算数组所有元素的和与积,并分别保存在两个输出参数中。

作者: 许庭洲    时间: 2012-10-17 20:28
using  System;
using System.Collection.Gerneric;
using System.Linq;
using System.Text;
namespace Calculate
{
      class Program
     {
           static void Calculate(double values[])
           {
                  
                    int i= 0;
                    int j= 0;
                    double sum1= 0;
                    double sum2= 0;
                    for( int i=0; i<values.Length; i++ )//计算数组内各元素的和
                    {
                          sum1 = sum1 + values[i];
                    }
                    Console.WriteLine(sum1);
                    for( int j=0; j<values.Length; j++ )//计算数组元素内各元素的积
                    {
                          sum2 = sum2*values[j];
                    }
                    Console.WriteLine(sum2);
                    Console.ReadKey();      
           }
           static void Main[] args)
           {     
                 double[] values = {30.2,50.5,10.8,90.2,20.1};//类型后[],就是这个类型的数组类型
                 Calculate(values );//调用Calculate方法
            }
       }
}

作者: 管真    时间: 2012-10-17 23:18
三卡斯,代码收了
作者: 秦敖    时间: 2012-10-18 12:14
本帖最后由 秦敖 于 2012-10-18 12:53 编辑

楼主的意思是想有两个返回值,"分别保存在两个输出参数中",这是楼主自己表达的啊?所以这里要用out来实现。比如我们经常用的一个方法:int.TryParse(string s,out int value);就是典型的一个返回两个参数的方法。按我理解的实现方法如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 多返回值问题
{
    class Program
    {//编写c#控制台应用程序,在其中定义方法calculate,他可以接受一个double[]数组的输入参数,
      //计算数组所有元素的和与积,并分别保存在两个输出参数中。
        static void Main(string[] args)
        {
            //定义一个double类型的数组
            double[] Num = { 1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9,10};
            //Sum用于接受默认返回值(和),Fac用于接受另一个返回值(积)
            double Sum, Fac;
            //调用Calculate方法。
            Sum = Calculate(Num, out Fac);
            Console.WriteLine("数组的和为:{0},数组的积为:{1}",Sum,Fac);
            Console.ReadKey();
        }
        /// <summary>
        /// 计算double数组的和与差,涉及多返回值,默认返回"和","积"用out方式返回。
        /// </summary>
        /// <param name="Num"></param>
        /// <param name="Fac"></param>
        /// <returns></returns>
        static double Calculate(double[] Num, out double Fac)
        {
            double Sum = 0;
             Fac = 1;
            for (int i = 0; i < Num.Length; i++)
            {
                Sum += Num;//累加
                Fac *= Num;//累乘
            }
            return Sum;//默认返回"和"
        }
    }
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2