黑马程序员——让用户输入数组元素值的方法

原创 2012年04月05日 23:19:24

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

  看C#基础最后几个视频时有一道练习是要求用方法实现找出一个int类型数组中最大值和最小值。因为没有给定int类型数组,我就想到让用户来输入数组元素的值,然后找出其中最大和最小值,而且这也用一个方法来实现,只是不知道这样数组元素个数由用户输入来决定的有没其它问题,记得C语言中数组元素的个数在定义时就应该确定,可是写出来的代码这些编译和运行都没有问题,C#中数组定义时元素的个数是可以用变量的么,还是因为其它原因,看来值得探究一下。而且还有一个问题,就是返回数组的问题,我没有定义一个数组来接收方法返回的用户输入的数组,怎么就直接返回给了我传的参数数组了呢,我想这应该是传递的数组是引用类型的关系。代码如下:

namespace _03练习
{
    class Program
    {
        static void Main(string[] args)
        {
            int n;
            Console.WriteLine("请输入数组的元素个数!");
            while (true)
            {
                if(int.TryParse(Console.ReadLine(),out n))
                {
                   break;
                }
                else
                {
                    Console.WriteLine("您输入的不是数字,请重新输入!");
                }
            }

            int[] nums = new int[n];            
            Evaluation(nums);//调用Evaluation方法给数组元素赋值

            int max, min, sum;
            sum = Sum(nums, out max, out min);//调用Sum方法求数组元素的和,并返回其中最大值与最小值
            
            Console.WriteLine("数组元素的和为:{0},最大值为:{1},最小值为:{2}", sum, max, min);

            Console.ReagKey();
        }

        /// <summary>
        /// 让用户给一个整数数组赋值
        /// </summary>
        /// <param name="numbers">要赋值的数组</param>
        /// <returns>已赋值的数组</returns>
        public static int[] Evaluation(int[] numbers)
        {
            for (int i = 0; i < numbers.Length; i++)
            {
                Console.WriteLine("请输入{0}个数组元素的值!", i + 1);
                if(int.TryParse(Console.ReadLine(),out numbers[i])==false)
                {
                    Console.WriteLine("输入的不是数字,请重新输入!");
                    i--; 
                }
            }
            return numbers;
        }

        /// <summary>
        /// 求数组中所有元素的和
        /// </summary>
        /// <param name="numbers">数组</param>
        /// <param name="max">最大值</param>
        /// <param name="min">最小值</param>
        /// <returns>数组元素的和</returns>
        public static int Sum(int[] numbers, out int max, out int min)
        {
            int sum = 0;
            max = numbers[0];
            min = numbers[0];
            for (int i = 0; i < numbers.Length; i++)
            {
                sum += numbers[i];
                if (numbers[i] > max)
                {
                    max = numbers[i];
                }
                if (numbers[i] < min)
                {
                    min = numbers[i];
                }
            }
            return sum;
        }

     }
}


---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------详细请查看:http://net.itheima.com/

相关文章推荐

【专题】 - 数组元素操纵探索 - 黑马程序员

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- MJ大大在讲C语言的时候,没有讲到如何在数组(包含字符串数组)中插入、删除、查找(通过值查找序号...

本地方法(JNI)——访问数组元素+错误处理

【0】README1) 本文文字描述 均转自 core java volume 2 , 旨在理解 本地方法(JNI)——访问数组元素+错误处理 的基础知识 ; 【1】本地方法(JNI)——访问数组元...

Matlab中数组元素引用——三种方法

Matlab中数组元素引用——三种方法 1.Matlab中数组元素引用有三种方法 1 2 3 1.下标法(su...
  • stardsd
  • stardsd
  • 2016年04月13日 23:53
  • 322

黑马程序员——数组的定义与常用的相关方法

数组是一种数据结构,用来存储同一类型值的集合.通过一个整型下标可以访问数组中的每一个值,数组中的值是有序的,可重复。 一、数组的定义 在我们定义数组时,如果程序当前并没有使用到数组而是到程序的后半...

黑马程序员——Java基础 数组排序的两种实现方法,选择和冒泡

作为Java语言的初学者,了解和掌握两个简单的排序方法,会让我们对Java学习有很大的帮助。 首先,可以让我们初学者,接触一些简单的程序算法,对以后学习更多的算法做好贮备。其次数组排序,可以让门熟悉数...

day06-1static 使用静态方法并生成文档取最值,选择排序,冒泡排序,位置交换,打印数组元素

/* public static void main(String[] args) 主函数:是一个特殊函数,作为程序的入口,可以被jvm调用 主函数的定义: public:代表着该函数的访问权限是...

请写一个简单的求数组元素最大值和最小值的方法

需求:1、求数组中元素的最大值和最小值 public class ArrayMaxMin { public static void main(String[] args) { int[] ar...

C语言——数组指针和通过指针引用数组元素的方法总结

1.数组指针:即指向数组的指针 那么, 如何声明一个数组指针呢?int (* p)[10]; /*括号是必须写的,不然就是指针数组;10是数组的大小*/拓展:有指针类型元素的数组称为指针数组。 2...

黑马程序员:多线程 VS 传统办法——取二维数组的最值

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ---------------------- 多线程取得二维数组的最值。 思路:首先,获取...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员——让用户输入数组元素值的方法
举报原因:
原因补充:

(最多只允许输入30个字)