zoukankan      html  css  js  c++  java
  • ●数组及应用举例

    数组

             数组用来分组基本类型或相同类型的对象。数组中的实体叫做数组的元素或成员。

             我们可以用Length来得到其中的元素的数目。(应用同字符串)

             内存、连续、同一类数据的一块区域

            

    分类:

             一维数组

                       int [ ]a = new int [5];      //定义一个整形数组a,该数组含5个元素(数组下标都是从0开始)

             二维数组

             三维数组

    附:

             编程时要使功能相对独立

    应用举例:

                //10个球员的总分、平均分、最高分、最低分
                int[] a = new int[10];
    
                for (int i = 1; i <= 10; i++)
                {
                    Console.Write("请输入" + i + "号球员分数:");
                    a[i - 1] = Convert.ToInt32(Console.ReadLine());
                }
    
                int sum = 0;
                for (int k = 0; k < 10; k++)
                {
                    sum = sum + a[k];
                }
                Console.WriteLine("总分为:" + sum);
                Console.WriteLine("平均分:" + (1.0 * sum / a.Length));
    
                  //找最高分、最低分
                int max = a[0];
                int min = a[0];
                int max1 = 0;
                int min1 = 0;
    
                for (int j = 0; j < 10; j++)
                {
                    if (a[j] > max)
                    {
                        max = a[j];
                        max1 = j + 1;
                    }
                    if (a[j] < min)
                    {
                        min = a[j];
                        min1 = j + 1;
                    }
                }
                Console.WriteLine("最高分为:{0}号球员{1}", max1, max);
                Console.WriteLine("最低分为:{2}号球员{3}", min1, min);
    
                  //分数按升序排序
    int b = a[0]; for (int m = 0; m < 10; m++) { for (int n = 1; n < 10; n++) { if (a[n] < a[n - 1]) { b = a[n]; a[n] = a[n - 1]; a[n - 1] = b; } } } Console.WriteLine("分数按升序排列:"); for (int c = 0; c < 10; c++) { Console.Write(a[c] + " "); }
                //去掉一个最高分一个最低分,求平均分
                int[] a = new int[10];
    
                for (int i = 1; i <= 10; i++)
                {
                    Console.Write("请输入分数" + i + "");
                    a[i - 1] = Convert.ToInt32(Console.ReadLine());
                }
    
                int sum = 0;
    
                for (int i = 0; i < 10; i++)
                {
                    sum = sum + a[i];
                }
    
                int max = a[0], min = a[0];
    
                for (int j = 1; j < 10; j++)
                {
                    if (a[j] > max)
                    {
                        max = a[j];
                    }
                    if (a[j] < min)
                    {
                        min = a[j];
                    }
                }
    
                Console.WriteLine("去掉一个最高分{0},去掉一个最低分{1},平均分是{3}", max, min, 1.0 * (sum - max - min) / 8);
                //去掉2个最高分和2个最低分,求平均分
                  //定义一个整型数组,用来存放分数
                int[] a = new int[10];
    
                for (int i = 1; i <= 10; i++)
                {
                    Console.Write("请输入分数" + i + "");
                    a[i - 1] = Convert.ToInt32(Console.ReadLine());
                }
    
                    //求总分
                int sum = 0;
    
                for (int i = 0; i < 10; i++)
                {
                    sum = sum + a[i];
                }
    
                    //选出最高分跟最低分,以及对应的元素
                int max = a[0], min = a[0], max_no = 0, min_no = 0;
    
                for (int j = 1; j < 10; j++)
                {
                    if (a[j] > max)
                    {
                        max = a[j];
                        max_no = j;
                    }
                    if (a[j] < min)
                    {
                        min = a[j];
                        min_no = j;
                    }
                }
    
                    //选出次高分跟次低分
                int max1 = a[0], min1 = a[0];
    
                for (int j = 1; j < 10; j++)
                {
                    if (a[j] > max1 && j != max_no)
                    {
                        max1 = a[j];
                    }
                    if (a[j] < min1 && j != min_no)
                    {
                        min1 = a[j];
                    }
                }
    
                double average = 1.0 * (sum - max - max1 - min - min1) / 6;
                Console.WriteLine("去掉2个最高分,去掉2个最低分,平均分是{0}", average);
                //5个候选班长,20人投票,求票数最多的
                string[] x = new string[20];
    
                for (int i = 0; i < 20; i++)
                {
                    Console.WriteLine("请输入数字0~5");
                    Console.Write((i + 1) + "号投票:");
                    x[i] = Console.ReadLine();
                }
    
                int[] y = new int[5];
                for (int i = 0; i < 20; i++)
                {
                    if (x[i] == "0")
                    {
                        y[0]++;
                    }
                    else if (x[i] == "1")
                    {
                        y[1]++;
                    }
                    else if (x[i] == "2")
                    {
                        y[2]++;
                    }
                    else if (x[i] == "3")
                    {
                        y[3]++;
                    }
                    else if (x[i] == "4")
                    {
                        y[4]++;
                    }
                }
    
                int max = y[0], max1 = 0;
                for (int i = 1; i < 5; i++)
                {
                    if (y[i] > max)
                    {
                        max = y[i];
                        max1 = i;
                    }
                }
    
                Console.WriteLine("{0}以{1}票当选班长!", max1, max);
    
    
    
                //上面的方法有局限性,当人数多票数多时,用以下方法:
    
                int[] votes = new int[5];
    
                for (int i = 0; i < 20; i++)
                {
                    Console.Write("请投票(0-4):");
                    int n = Convert.ToInt32(Console.ReadLine());
                    if (n >= 0 && n <= 4)
                    {
                        votes[n]++;
                    }
                    else
                    {
                        Console.WriteLine("废票");
                    }
                }
    
                //找最大
                int max = votes[0], max1 = 0;
                for (int i = 1; i < 5; i++)
                {
                    if (votes[i] > max)
                    {
                        max = votes[i];
                        max1 = i;
                    }
                }
    
                Console.WriteLine("{0}以{1}票当选班长!", max1, max);
                //36选7
                int[] a = new int[7];
                Random ran = new Random();
    
                    //生成7个数,比较是否重复并赋值给数组每个元素
                for (int i = 1; a[6]==0; i++)
                {
                    int n = ran.Next(36)+1;
                    for (int j = 0; j < 7; j++)
                    {
                        if (a[j] == n)
                        {
                            break;
                        }
                        if (a[j] == 0)
                        {
                            a[j] = n;
                            break;
                        }
                    }
                }
    
                    //输出
                for (int i = 0; i < 7; i++)
                {
                    Console.Write(a[i]+"	");
                }
  • 相关阅读:
    Hibernate3.3 中常见错误
    Hibernate Tools for Eclipse插件的安装和使用
    写个换房(先卖后买)退个人所得税的攻略 (转)
    Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]
    用SQL删除重复记录的N种方法
    Spring中ref local与ref bean区别
    Nginx反向代理
    文件上传
    linux 进程
    pdo
  • 原文地址:https://www.cnblogs.com/phantom-k/p/3930383.html
Copyright © 2011-2022 走看看