当前位置:首页 > C#教程 > C#高级

c# 编程--数组例题

 

1、输入十个学生的成绩,找出最高分

技术分享 技术分享
                 1
                #region 输入十个学生的成绩,找出最高分
 2//输入十个学生的成绩,找出最高分 3int[] c = newint[10];
 4for (int i = 0; i < 10; i++)
 5            {
 6int a = i + 1;
 7                 Console.Write("请输入第{0}个学生的成绩:", i);
 8                 c[i] = Convert.ToInt32(Console.ReadLine());
 9            }
10int max = 0;
11for (int j = 0; j < c.Length; j++)
12            {
13if (c[j] > max)
14                {
15                     max = c[j];
16                }
17            }
18             Console.WriteLine("最高分:" + max);
19#endregion
输入十个学生的成绩,找出最高分

2、用数组:请用户逐个输入球员成绩 求总成绩 平均成绩

技术分享 技术分享
                 1
                #region 用数组:请用户逐个输入球员成绩 求总成绩 平均成绩
 2int[] a = newint[6];
 3int sum = 0;
 4             Console.WriteLine("······球员训练记录········");
 5for (int i = 0; i < a.Length; i++)
 6            {
 7                 Console.WriteLine("请输入第" + (i + 1) + "个球员的成绩");
 8                 a[i] = Convert.ToInt32(Console.ReadLine());
 9                 sum = sum + a.Length;
1011            }
12for (int i = 0; i < a.Length; i++)
13            {
14                 Console.WriteLine("第{0}位球员的分数是:{1}", i + 1, a[i]);
1516            }
17             Console.WriteLine("{0}位球员的平均成绩是:{1}", a.Length, sum / a.Length);
18192021            Console.ReadKey();
22#endregion
用数组:请用户逐个输入球员成绩 求总成绩 平均成绩

3、数组练习用户输入值 求最大值最小值 平均值 总和

技术分享 技术分享
                 1
                #region 数组练习用户输入值 求最大值最小值 平均值 总和
 2//int[] a = new int[5];
 3//int sum = 0;
 4//int max = 0;
 5//int xb = 0;
 6//int xb2 = 0;
 7 8 9//for (int i = 0; i < a.Length; i++)
10//{
11//    Console.WriteLine("请输入第{0}个用户成绩:", i + 1);
12//    a[i] = Convert.ToInt32(Console.ReadLine());
13//    if (a[i] > max)
14//    {
15//        max = a[i];
16//        xb = i;
17//    }
18//    sum += a[i];
19//}
20//int min = max;//声明一个变量存储最小值 先把
21//for (int i = 0; i < a.Length; i++)
22//{
23//    if (a[i] < min)
24//    {
25//        min = a[i];
26//        xb2 = i;
2728//    }
29//}
3031//for (int i = 0; i < a.Length; i++)
32//{
33//    Console.Write(i + 1 + ":" + a[i] + "t");
34//}
35//Console.WriteLine("最高分:第{4}个用户{0}分,最低分:第{5}个用户{1}分,总和:{2},平均分:{3}n", max, min, sum, (double)sum / a.Length, xb + 1, xb2 + 1);
36//Console.ReadKey(); 37#endregion
数组练习用户输入值 求最大值最小值 平均值 总和

4、一维数组定义多个数组 姓名 语文 数学 英语 输出

技术分享 技术分享
                  1
                #region 定义多个数组 应用
  2  3  4             定义用户输入姓名(10) 语文成绩 数学成绩 英语成绩 
  5            打印出来
  6string[] names = newstring[2];
  7int[] yvwen = newint[2];
  8int[] shuxue = newint[2];
  9int[] yingyv = newint[2];
 10int[] sum = newint[2];
 11for (int i = 0; i < names.Length; i++)//用for循环来给数组赋值 准备使用 12            {
 13                 Console.Write("请输入第{0}个学生姓名:", i + 1);
 14                 names[i] = Convert.ToString(Console.ReadLine());
 15                 Console.Write("他的语文成绩:");
 16                 yvwen[i] = Convert.ToInt32(Console.ReadLine());
 17                 Console.Write("他的数学成绩:");
 18                 shuxue[i] = Convert.ToInt32(Console.ReadLine());
 19                 Console.Write("他的英语成绩:");
 20                 yingyv[i] = Convert.ToInt32(Console.ReadLine());
 21                 sum[i] = yvwen[i] + shuxue[i] + yingyv[i];
 22 23 24 25            }
 26for (int i = 0; i >= 0; i++)
 27            {
 28                Console.Clear();
 29                 Console.WriteLine("请选择:1、显示成绩表。2、查询总成绩、平均值。3、查询各科总成绩。4、清屏。5、退出");
 30 31string xz = Convert.ToString(Console.ReadLine());//声明一个string变量xz(选择判断)为下面if判断用 32 33if (xz == "1")//显示成绩表 34                {
 35                     Console.WriteLine("t----------学生成绩表----------");
 36 37 38                     Console.Write("t姓名t语文t数学t英语n");
 39                     Console.Write("t" + names[0] + "t" + yvwen[0] + "t" + shuxue[0] + "t" + yingyv[0] + "n");
 40                     Console.Write("t" + names[1] + "t" + yvwen[1] + "t" + shuxue[1] + "t" + yingyv[1] + "n");
 41                     Console.Write("t" + names[2] + "t" + yvwen[2] + "t" + shuxue[2] + "t" + yingyv[2] + "n");
 42                     Console.Write("t" + names[3] + "t" + yvwen[3] + "t" + shuxue[3] + "t" + yingyv[3] + "n");
 43                     Console.Write("t" + names[4] + "t" + yvwen[4] + "t" + shuxue[4] + "t" + yingyv[4] + "n");
 44                     Console.WriteLine("t----------学生成绩表----------");
 45                     Console.WriteLine("");
 46#region 无用
 47          Console.Write("姓名:{0}、{1}、{3}、{4}、{5}", names[0], names[1], names[2], names[3], names[4]);
 48                     Console.Write("语文:{0}、{1}、{3}、{4}、{5}", yvwen[0], yvwen[1], yvwen[2], yvwen[3], yvwen[4]);
 49                     Console.Write("数学:{0}、{1}、{3}、{4}、{5}", shuxue[0], shuxue[1], shuxue[2], shuxue[3], shuxue[4]);
 50                     Console.Write("英语:{0}、{1}、{3}、{4}、{5}", shuxue[0], shuxue[1], shuxue[2], shuxue[3], shuxue[4]);
 51//Console.WriteLine("姓名:{0}t{1}", names[0], names[1]);
 52//Console.WriteLine("语文:{0}t{1}", yvwen[0], yvwen[1]);
 53//Console.WriteLine("数学:{0}t{1}", shuxue[0], shuxue[1]);
 54//Console.WriteLine("英语:{0}t{1}", yingyv[0], yingyv[1]); 55                     Console.WriteLine(names[1]);
 56                     Console.WriteLine(shuxue[0]);
 57 58                     Console.Write("姓名:{0}、{1}", names[0], names[1]);
 59 60for (int n = 0; n < names.Length; n++)
 61                    {
 62for (int m = 0; m < n; m++)
 63                        {
 64                             Console.Write(names[n]);//,yvwen[n],shuxue[n],yingyv[n] 65                             Console.WriteLine(yvwen[n]+"t"+shuxue[n]);
 66//Console.WriteLine(names[m]+yvwen[m]+shuxue[m]+yingyv[m]); 67                        }
 68                    } 
 69#endregion 70 71                }
 72elseif (xz == "2")
 73                {
 74                     Console.WriteLine("1、显示所有用户总成绩、平均成绩。2查询某个学生总成绩、平均成绩");
 75int b = Convert.ToInt32(Console.ReadLine());
 76if (b == 1)
 77                    {
 78                         Console.WriteLine("---------------------------------------------------");
 79for (int p = 0; p < names.Length; p++)
 80                        {
 81                             Console.WriteLine("t" + names[p] + "同学的总成绩为" + (yvwen[p] + shuxue[p] + yingyv[p]) + "分,平均成绩为:" + (yvwen[p] + shuxue[p] + yingyv[p]) / 3 + "");
 82                        }
 83                         Console.WriteLine("---------------------------------------------------");
 84 85                    }
 86elseif (b == 2)
 87                    {
 88 89 90if (i + 1 == names.Length)
 91                        {
 92                         Console.Write("请输入要查询的学生姓名:");
 93string Cnames = Convert.ToString(Console.ReadLine());
 94for (int j = 0; j < names.Length; j++)
 95                        {
 96                             Console.WriteLine("---------------------------------------------------");
 97if (Cnames == names[j])
 98                            {
 99                                 Console.WriteLine("t学生{0}的所有成绩总和是:{1},成绩平均值是{2}:", j + 1, sum[j], sum[j] / 3);
100                            }
101                        }
102                        }
103                    }
104else105                    {
106                         Console.WriteLine("Error");
107                    }
108                }
109elseif (xz == "3")
110                {
111                    查询各科总成绩
112int sumyw = 0, sumsx = 0, sumyy = 0;
113for (int e = 0; e < names.Length; e++)
114                    {
115                         sumyw += yvwen[e];
116                         sumsx += shuxue[e];
117                         sumyy += yingyv[e];
118                    }
119                     Console.WriteLine("---------------------------------------------------");
120                     Console.WriteLine("语文成绩总和:{0},数学成绩总和{1},英语成绩总和{2}", sumyw, sumsx, sumyy);
121                     Console.WriteLine("---------------------------------------------------");
122123124                }
125elseif (xz == "4")
126                {
127                    Console.Clear();
128                }
129elseif (xz == "5")
130                {
131break;
132                }
133else134                {
135                     Console.WriteLine("Error,重新输入");
136                }
137            }
138139             Console.WriteLine("回车退出");
140            Console.ReadKey();
141#endregion
定义多个数组

5、其他:

技术分享 技术分享
                  1
                #region 输入10个的分数,去掉两个最高两个最低分 ,求平均分
  2//例题:输入10个的分数,去掉两个最高两个最低分 ,求平均分  3  4  5  6  7             Console.Write("输入人数:");
  8int num = int.Parse(Console.ReadLine());
  9int[] score = newint[num];//声明数组存储成绩 10int sum = 0;//声明sum 累计存储总成绩 
 11//让用户输入成绩给数组赋值 12if (num >= 5)
 13            {
 14for (int i = 1; i <= score.Length; i++)
 15                {
 16                     Console.Write("请输入第" + i + "个人的成绩:");
 17                     score[i - 1] = int.Parse(Console.ReadLine());
 18                }
 19 20for (int i = 1; i <= score.Length; i++)
 21                {
 22for (int j = 1; j <= score.Length - i; j++)
 23                    {
 24if (score[j - 1] <= score[j])
 25                        {
 26int temp = score[j - 1];
 27                             score[j - 1] = score[j];
 28                             score[j] = temp;
 29                        }
 30                    }
 31                }
 32for (int i = 0; i < score.Length; i++)
 33                {
 34                     sum += score[i];//算出总成绩 35                }
 36 37double avg = ((sum - score[0] - score[1] - score[num - 2] - score[num - 1]) / num - 4);
 38 39                 Console.WriteLine("总和:" + sum);
 40                 Console.WriteLine("去掉两个最大值{0}、{1}两个最小值{2}、{3}后平均成绩是:{4}", score[0], score[1], score[num - 2], score[num - 1], avg);
 41 42                 Console.WriteLine("排列效果:");
 43for (int i = 0; i < score.Length; i++)
 44                {
 45                     Console.WriteLine("下标" + i + ":" + score[i]);
 46                }
 47 48 49 50            }
 51else 52            {
 53                 Console.WriteLine("Eorr");
 54 55            }
 56#endregion 57#region 随机生成彩票(有条件) 排序
 58 59 60 61             Random rand = new Random();
 62int lan = rand.Next(1, 16);//先生成蓝球的随机数 63int[] hong = newint[6];//定义一个数组来存储红球 6个 64 65int n = 0;
 66while (true)
 67            {
 68int sj = rand.Next(1, 33);//声明一个sj让他从随机生成器中获值 69if (n == 6)
 70                {
 71break;
 72                }
 73else 74                {
 75//bool cf = false;
 76//for (int i = 0; i < 6; i++)
 77//{
 78//    if (hong[i] == sj)
 79//    {
 80//        cf=true;
 81//    } 
 82//} 83if (hong.Contains(sj))//引用contains 看看数组中有没有sj这个随机数 84                    {
 85 86                    }
 87else 88                    {
 89                         hong[n] = sj;
 90                         n++;
 91                    }
 92                }
 93            }
 94 95for (int i = 1; i <= hong.Length; i++)
 96            {
 97for (int j = 1; j <= hong.Length - i; j++)
 98                {
 99if (hong[j] < hong[j - 1])
100                    {
101int temp = hong[j];
102                         hong[j] = hong[j - 1];
103                         hong[j - 1] = temp;
104                    }
105                }
106            }
107             Console.WriteLine("蓝球是:" + lan);
108             Console.WriteLine("红球是:" + hong[0] + "," + hong[1] + "," + hong[2] + "," + hong[3] + "," + hong[4] + "," + hong[5]);
109110111112113114115116117118119120#endregion
其他: 去掉两个最大最小值求平均数; 彩票

 

技术分享 技术分享
                 1
                #region 小技巧
 2             System.Threading.Thread.Sleep(100);//停100毫秒 3             Console.Clear();//清屏  4#endregion 5#region 随机
 6while (true)
 7            {
 8string[] a = { "闫武奎", "闫无愧", "烟雾盔", "闫五亏" };
 9                 Random rand = new Random();
10int b = rand.Next(a.Length);
1112for (int i = 0; i < 10; i++)
13                {
14int c = rand.Next(a.Length);
15                    Console.WriteLine(a[c]);
16                     System.Threading.Thread.Sleep(500);
17                    Console.Clear();
18                }
19                 Console.WriteLine("t" + a[b]);
20                Console.ReadKey();
212223            }
24#endregion2526#region 主谓宾 语句
27             Console.WriteLine("请输入你的名字");
28string name = Console.ReadLine();
29string[] a = newstring[] { "张三", "李四", "王五", "赵六", "田七", "朱八" };
30string[] b = newstring[] { "吃饭", "睡觉", "玩游戏", "看电影", "追MM", "学习" };
31string[] c = { "可爱的", "装b的", "傻啦吧唧的", "萌萌哒", "高贵的" };
32string[] d = { "在电影院", "在墙角", "在垃圾桶边", "在学校", "在河边" };
33             Random rand = new Random();
34353637int i = rand.Next(a.Length);
38int j = rand.Next(b.Length);
39int k = rand.Next(c.Length);
40int w = rand.Next(d.Length);
41             Console.WriteLine(c[k] + name + "" + a[i] + "一起" + d[w] + b[j]);
424344            Console.ReadKey();
45#endregion464748#region 随机抽奖
49//随机抽奖50while (true)
51            {
52//声明一个数组存储要抽奖的的用户名字:53int[] names = { 11, 22, 33, 44, 55, 66, 77, 88, 99, 100 };
54string[] prize = { "a", "b", "c", "d", "e", "f" };
55//用随机数生成器56                 Random rand = new Random();
57int name = rand.Next(0, names.Length);//定义生成随机数的范围是数组的长度58int p = rand.Next(prize.Length);
5960for (int i = 0; i < names.Length; i++)
61                {
62                     Console.Write(names[i] + "t");
63                }
64                 Console.WriteLine("回车开始抽奖");
65                Console.ReadKey();
66for (int i = 0; i < names.Length; i++)
67                {
68                    Console.WriteLine(names[i]);
69                     System.Threading.Thread.Sleep(500);//停200毫秒70                     Console.Clear();//清屏71                }
7273                 Console.WriteLine("恭喜{0}获得一等奖:{1}一台", names[name], prize[p]);//随机输出数组中的值7475                Console.ReadKey();
76            }
77#endregion
清屏 随机

 

网摘练习(传智)

练习1:从一个整数数组中取出最大的整数,最小整数,总和,平均值


练习2:计算一个整数数组的所有元素的和。
练习3:数组里面都是人的名字,分割成:例如:老杨|老苏|老邹…”
                 (老杨,老苏,老邹,老虎,老牛,老蒋,老王,老马)
                 string[] names={"张三","李四","王五","赵六"};
                 张三|李四|王五|赵六
练习4:将一个整数数组的每一个元素进行如下的处理:如果元素是正数则将这个位置的元素的值加1,如果元素是负数则将这个位置的元素的值减1,如果元素是0,则不变。
练习5:将一个字符串数组的元素的顺序进行反转。{“我”,“是”,”好人”} {“好人”,”是”,”我”}。第i个和第length-i-1个进行交换。

技术分享 技术分享
                  1
                #region 练习1
  2//练习1、从一个整数数组中取出最大的整数,最小整数,总和,平均值
  3  4//声明一个int类型的数组,并且随意的赋初值  5int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
  6//声明两个变量用来存储最大值和最小值 后又声明了sum
  7//int max = 0;//弃用
  8//int min = 0;//弃用  9int max = nums[0];//赋值成数组中的某个元素,假定它是最大值,再去跟其它元素比较
 10//int max = int.MinValue;//或者用这种方法:根据int的是使用范围把int.MinValue(也就是int做能表示的最小值)赋值给max,让int所能表示的最小值去跟数组中的值去比较就不会出错了。(-2,147,483,648 到 2,147,483,647) 11int min = nums[0];
 12//int min = int.MaxValue;//同上理由 13int sum = 0;
 14//循环的让数组中的每个元素跟我的最大值、最小值比较 15 16for (int i = 0; i < nums.Length; i++)//i=0:正好跟上面声明的数组的下标对应从0开始 17            {
 18 19//如果数组中当前循环到的这个元素比我的max还大则把当前这个元素赋值给max 20if (nums[i] > max)
 21                {
 22                     max = nums[i];//关于在循环中nums[1]的理解方式:1、代表数组中当前循环到的元素 2、代表数组中的每个元素 23                }
 24 25if (nums[i] < min)
 26                {
 27                     min = nums[i];
 28                }
 29                 sum += nums[i];
 30            }
 31             Console.WriteLine("这个数组的最大值是{0},最小值是{1},数组总和是{2},平均值是{3}", max, min, sum, sum / nums.Length);
 32 33            Console.ReadKey(); 
 34#endregion 35 36#region 练习2、3:        
 37//练习2:计算一个整数数组的所有元素的和。(略)
 38 39//练习3:数组里面都是人的名字,分割成:例如:老杨|老苏|老邹…” 40 41 42string[] names = { "老杨", "老苏", "老邹", "老虎", "老牛" };
 43//老杨|老苏|老邹|老虎|老虎|老牛
 44//解题思路:通过一个循环,获得字符串数组中的每一个元素。
 45//然后将每个元素都累加到一个字符串中,以|分割 46string str = null;//注意null和" "的区别  null没开空间 47for (int i = 0; i < names.length - 1; i++)//-1是为了完美输出上面要求的格式:最后一个姓名后面没有“|”。这样只循环到老虎这个值 在下面cw输出语句在加上最后一个元素:老牛 == names.length-1 48            {
 49                 str += names[i] + "|";//str=str+names[i]+"|" 50            }
 51             console.writeline(str + names[names.length - 1]);//names.length-1是数组的最后一个元素 52            console.readkey();
 53 54#endregion 55 56 57#region 练习4
 58//练习4:将一个整数数组的每一个元素进行如下的处理:如果元素是正数则将这个位置的元素的值加1,如果元素是负数则将这个位置的元素的值减1,如果元素是0,则不变。 59 60int[] nums = { 1, 2, -1, 5, -8, 6, 8, 4, 0 };
 61//解题思路:通过一个循环获得数组中的每一个元素,对每一个元素进行判断 62for (int i = 0; i < nums.Length; i++)
 63            {
 64if (nums[i] > 0)
 65                {
 66                     nums[i] += 1;
 67                }
 68elseif (nums[i] < 0)
 69                {
 70                     nums[i] -= 1;
 71                }
 72else 73                {
 74                }
 75            }
 76for (int i = 0; i < nums.Length; i++)//对数组取值 77            {
 78                Console.WriteLine(nums[i]);
 79            }
 80            Console.ReadKey();
 81 82 83 84 85 86#endregion 87 88#region 练习5:未加注释
 89 90 91//练习5:将一个字符串数组的元素的顺序进行反转。{“我”,“是”,”好人”} {“好人”,”是”,”我”}。第i个和第length-i-1个进行交换。         92 93string[] names = { "", "", "好人" };
 94for (int i = 0; i < names.Length / 2; i++)
 95            {
 96string temp = names[i];
 97                 names[i] = names[names.Length - 1 - i];
 98                 names[names.Length - 1 - i] = temp;
 99            }
100101for (int i = 0; i < names.Length; i++)
102            {
103                Console.Write(names[i]);
104            }
105             Console.ReadKey();    
网摘练习

 

原文:http://www.cnblogs.com/ooip/p/4493687.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐