黑马程序员技术交流社区

标题: 关于out的问题 [打印本页]

作者: 狱之一族    时间: 2013-4-3 20:20
标题: 关于out的问题
本帖最后由 狱之一族 于 2013-4-4 11:09 编辑

class Program
{
        static void Main(string[] args)
        {
             int[] num = { 1, 25, 12, 96, 54, 25, 35, 36, 45, 75 };
            int max, min, sum;
            sum = number(num, out max,out min);
            Console.WriteLine("数组的和{0},最大数{1},平均值{2}",sum,max,min);



            Console.ReadKey();
        }
        static int number(int [] num,out int max,out int min)
        {
            
            int sum= 0;
            max=num[0];
            min = num[0];
            for (int i = 0; i < num.Length; i++)
            {
                sum += num;
                if (num>max)
                {
                    max = num;
                }
                if (num < min)
                {
                    min = num;
                }
            }
        }
    }
这个我按照老师讲的编的,但是我不知道为啥总是不对。。


作者: DWC_5101    时间: 2013-4-3 20:37
本帖最后由 DWC_5101 于 2013-4-3 20:41 编辑

存在的问题:
1、num是数组,用里面的某个元素,要加上索引,比如num[1] 。 这个貌似在for循环中的,在帖子里显示不出来
2、number函数有返回值,要加上return语句

下面修改好的吧,粗线部分是改动的地方:
        static void Main(string[] args)
        {
            int[] num = { 1, 25, 12, 96, 54, 25, 35, 36, 45, 75 };
            int max, min, sum;
            sum = number(num, out max, out min);
            Console.WriteLine("数组的和{0},最大数{1},平均值{2}", sum, max, min);
            Console.ReadKey();
        }
        static int number(int[] num, out int max, out int min)
        {
            int sum = 0;
            max = num[0];
            min = num[0];
            for (int i = 0; i < num.Length; i++)
            {
                sum += num;
                if (num > max)
                {
                    max = num;
                }
                if (num < min)
                {
                    min = num;
                }
            }
            return sum;
        }

作者: 曾玉锋    时间: 2013-4-3 20:40
本帖最后由 曾玉锋 于 2013-4-3 20:47 编辑
  1. 你是要求最大值、最小值和总和  还是求最大值、平均值和总和?
复制代码

作者: 邵震    时间: 2013-4-3 20:48
  1. class java0403d4
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.             int[] num = { 1, 25, 12, 96, 54, 25, 35, 36, 45, 75 };
  6.             int max=min=sum=0;
  7.             sun=number(num[],max,min);
  8.             Console.WriteLine("数组的和{0},最大数{1},平均值{2}",sum,max,min);


  9.             Console.ReadKey();//这个值那里来的?  
  10.         }
  11.         static int number(int [] num,int max,int min)
  12.         {
  13.             
  14.             int sum= 0;
  15.             max=num[0];
  16.             min = num[0];
  17.             for (int i = 0; i < num.Length; i++)
  18.             {
  19.                 sum += num;
  20.                 if (num>max)
  21.                 {
  22.                     max = num;
  23.                 }
  24.                 if (num < min)
  25.                 {
  26.                     min = num;
  27.                 }
  28.             }
  29.         }
  30. }
复制代码
你的第八行有错误 应该从新打一遍就对了  你在改一下 我去看视频去了 今天任务还没完成
作者: 许庭洲    时间: 2013-4-3 20:51
1. out则是内部为外部赋值,所以不需要初始化,而且外部初始化也没用;
2。  Console.WriteLine("数组的和{0},最大数{1},平均值{2}",sum,max,min);//修改为  Console.WriteLine("数组的和{0},最大数{1},最小值{2}",sum,max,min);或者  Console.WriteLine("数组的和{0},最大数{1},平均值{2}",sum,max,sum/10);
作者: 狱之一族    时间: 2013-4-4 11:08
DWC_5101 发表于 2013-4-3 20:37
存在的问题:
1、num是数组,用里面的某个元素,要加上索引,比如num[1] 。 这个貌似在for循环中的,在帖子 ...

谢谢谢谢
作者: 狱之一族    时间: 2013-4-4 11:08
许庭洲 发表于 2013-4-3 20:51
1. out则是内部为外部赋值,所以不需要初始化,而且外部初始化也没用;
2。  Console.WriteLine("数组的和{ ...

谢谢谢谢
作者: 狱之一族    时间: 2013-4-4 11:08
曾玉锋 发表于 2013-4-3 20:40

嗯。是的




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