码迷,mamicode.com
首页 > 编程语言 > 详细

c# 编程--数组例题

时间:2015-05-11 10:36:06      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:

 

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

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

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

技术分享
 1             #region 用数组:请用户逐个输入球员成绩 求总成绩 平均成绩
 2             int[] a = new int[6];
 3             int sum = 0;
 4             Console.WriteLine("······球员训练记录········");
 5             for (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;
10 
11             }
12             for (int i = 0; i < a.Length; i++)
13             {
14                 Console.WriteLine("第{0}位球员的分数是:{1}", i + 1, a[i]);
15 
16             }
17             Console.WriteLine("{0}位球员的平均成绩是:{1}", a.Length, sum / a.Length);
18 
19 
20 
21             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;
27 
28             //    }
29             //}
30 
31             //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             打印出来
  6             string[] names = new string[2];
  7             int[] yvwen = new int[2];
  8             int[] shuxue = new int[2];
  9             int[] yingyv = new int[2];
 10             int[] sum = new int[2];
 11             for (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             }
 26             for (int i = 0; i >= 0; i++)
 27             {
 28                 Console.Clear();
 29                 Console.WriteLine("请选择:1、显示成绩表。2、查询总成绩、平均值。3、查询各科总成绩。4、清屏。5、退出");
 30 
 31                 string xz = Convert.ToString(Console.ReadLine());//声明一个string变量xz(选择判断)为下面if判断用
 32 
 33                 if (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 
 60                     for (int n = 0; n < names.Length; n++)
 61                     {
 62                         for (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                 }
 72                 else if (xz == "2")
 73                 {
 74                     Console.WriteLine("1、显示所有用户总成绩、平均成绩。2查询某个学生总成绩、平均成绩");
 75                     int b = Convert.ToInt32(Console.ReadLine());
 76                     if (b == 1)
 77                     {
 78                         Console.WriteLine("---------------------------------------------------");
 79                         for (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                     }
 86                     else if (b == 2)
 87                     {
 88 
 89 
 90                         if (i + 1 == names.Length)
 91                         {
 92                         Console.Write("请输入要查询的学生姓名:");
 93                         string Cnames = Convert.ToString(Console.ReadLine());
 94                         for (int j = 0; j < names.Length; j++)
 95                         {
 96                             Console.WriteLine("---------------------------------------------------");
 97                             if (Cnames == names[j])
 98                             {
 99                                 Console.WriteLine("\t学生{0}的所有成绩总和是:{1},成绩平均值是{2}:", j + 1, sum[j], sum[j] / 3);
100                             }
101                         }
102                         }
103                     }
104                     else
105                     {
106                         Console.WriteLine("Error");
107                     }
108                 }
109                 else if (xz == "3")
110                 {
111                     查询各科总成绩
112                     int sumyw = 0, sumsx = 0, sumyy = 0;
113                     for (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("---------------------------------------------------");
122 
123 
124                 }
125                 else if (xz == "4")
126                 {
127                     Console.Clear();
128                 }
129                 else if (xz == "5")
130                 {
131                     break;
132                 }
133                 else
134                 {
135                     Console.WriteLine("Error,重新输入");
136                 }
137             }
138 
139             Console.WriteLine("回车退出");
140             Console.ReadKey();
141             #endregion
定义多个数组

5、其他:

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

 

技术分享
 1             #region 小技巧
 2             System.Threading.Thread.Sleep(100);//停100毫秒
 3             Console.Clear();//清屏 
 4             #endregion
 5             #region 随机
 6             while (true)
 7             {
 8                 string[] a = { "闫武奎", "闫无愧", "烟雾盔", "闫五亏" };
 9                 Random rand = new Random();
10                 int b = rand.Next(a.Length);
11 
12                 for (int i = 0; i < 10; i++)
13                 {
14                     int 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();
21 
22 
23             }
24             #endregion
25 
26             #region 主谓宾 语句
27             Console.WriteLine("请输入你的名字");
28             string name = Console.ReadLine();
29             string[] a = new string[] { "张三", "李四", "王五", "赵六", "田七", "朱八" };
30             string[] b = new string[] { "吃饭", "睡觉", "玩游戏", "看电影", "追MM", "学习" };
31             string[] c = { "可爱的", "装b的", "傻啦吧唧的", "萌萌哒", "高贵的" };
32             string[] d = { "在电影院", "在墙角", "在垃圾桶边", "在学校", "在河边" };
33             Random rand = new Random();
34 
35 
36 
37             int i = rand.Next(a.Length);
38             int j = rand.Next(b.Length);
39             int k = rand.Next(c.Length);
40             int w = rand.Next(d.Length);
41             Console.WriteLine(c[k] + name + "" + a[i] + "一起" + d[w] + b[j]);
42 
43 
44             Console.ReadKey();
45             #endregion
46 
47 
48             #region 随机抽奖
49             //随机抽奖
50             while (true)
51             {
52                 //声明一个数组存储要抽奖的的用户名字:
53                 int[] names = { 11, 22, 33, 44, 55, 66, 77, 88, 99, 100 };
54                 string[] prize = { "a", "b", "c", "d", "e", "f" };
55                 //用随机数生成器
56                 Random rand = new Random();
57                 int name = rand.Next(0, names.Length);//定义生成随机数的范围是数组的长度
58                 int p = rand.Next(prize.Length);
59 
60                 for (int i = 0; i < names.Length; i++)
61                 {
62                     Console.Write(names[i] + "\t");
63                 }
64                 Console.WriteLine("回车开始抽奖");
65                 Console.ReadKey();
66                 for (int i = 0; i < names.Length; i++)
67                 {
68                     Console.WriteLine(names[i]);
69                     System.Threading.Thread.Sleep(500);//停200毫秒
70                     Console.Clear();//清屏
71                 }
72 
73                 Console.WriteLine("恭喜{0}获得一等奖:{1}一台", names[name], prize[p]);//随机输出数组中的值
74 
75                 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类型的数组,并且随意的赋初值
  5             int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
  6             //声明两个变量用来存储最大值和最小值 后又声明了sum
  7             //int max = 0;//弃用
  8             //int min = 0;//弃用
  9             int max = nums[0];//赋值成数组中的某个元素,假定它是最大值,再去跟其它元素比较
 10             //int max = int.MinValue;//或者用这种方法:根据int的是使用范围把int.MinValue(也就是int做能表示的最小值)赋值给max,让int所能表示的最小值去跟数组中的值去比较就不会出错了。(-2,147,483,648 到 2,147,483,647)
 11             int min = nums[0];
 12             //int min = int.MaxValue;//同上理由
 13             int sum = 0;
 14             //循环的让数组中的每个元素跟我的最大值、最小值比较
 15 
 16             for (int i = 0; i < nums.Length; i++)//i=0:正好跟上面声明的数组的下标对应从0开始
 17             {
 18 
 19                 //如果数组中当前循环到的这个元素比我的max还大则把当前这个元素赋值给max
 20                 if (nums[i] > max)
 21                 {
 22                     max = nums[i];//关于在循环中nums[1]的理解方式:1、代表数组中当前循环到的元素 2、代表数组中的每个元素
 23                 }
 24 
 25                 if (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 
 42             string[] names = { "老杨", "老苏", "老邹", "老虎", "老牛" };
 43             //老杨|老苏|老邹|老虎|老虎|老牛
 44             //解题思路:通过一个循环,获得字符串数组中的每一个元素。
 45             //然后将每个元素都累加到一个字符串中,以|分割
 46             string str = null;//注意null和" "的区别  null没开空间
 47             for (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 
 60             int[] nums = { 1, 2, -1, 5, -8, 6, 8, 4, 0 };
 61             //解题思路:通过一个循环获得数组中的每一个元素,对每一个元素进行判断
 62             for (int i = 0; i < nums.Length; i++)
 63             {
 64                 if (nums[i] > 0)
 65                 {
 66                     nums[i] += 1;
 67                 }
 68                 else if (nums[i] < 0)
 69                 {
 70                     nums[i] -= 1;
 71                 }
 72                 else
 73                 {
 74                 }
 75             }
 76             for (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 
 93             string[] names = { "", "", "好人" };
 94             for (int i = 0; i < names.Length / 2; i++)
 95             {
 96                 string temp = names[i];
 97                 names[i] = names[names.Length - 1 - i];
 98                 names[names.Length - 1 - i] = temp;
 99             }
100 
101             for (int i = 0; i < names.Length; i++)
102             {
103                 Console.Write(names[i]);
104             }
105             Console.ReadKey();    
网摘练习

 

c# 编程--数组例题

标签:

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!