c#程序员机试题

一、题目:

  有一数组: int[] arr = new int[] { 48,1,3,55,15,29,12,33,26,41,56,32};

      1、求出最大值

      2、按每个数字的10位数分组(说明:0~9的位数为0,10~19的位数为1),求出每组的最小值,用Dictionary<int,int> 表示返回结果,返回结果按10位数正序排序。

 

    参考答案如下:

 1                Dictionary<int, int> SaveMinValue = new Dictionary<int, int>();
 2  2             int[] arr = new int[] { 48,1,3,55,15,29,12,33,26,41,56,32};
 3  3             foreach (var item in arr)
 4  4             {
 5  5                 if (!SaveMinValue.ContainsKey(item / 10))
 6  6                 {
 7  7                     SaveMinValue.Add(item / 10, item);
 8  8                 }
 9  9                 else 
10 10                 {
11 11                     if (item<SaveMinValue[item / 10])
12 12                     {
13 13                         SaveMinValue[item / 10] = item;
14 14                     }
15 15                 }
16 16             }
17                //用linq进行排序
18 17             var dicSort = from objDic in SaveMinValue orderby objDic.Value  select objDic;  
19 18             foreach (KeyValuePair<int,int> key in SaveMinValue)
20 19             {
21 20                 Response.Write("" + key.Key + "最小值为:" + key.Value+"<br>");
22 21             }
23          //最大值
24 22             Response.Write("最大值:" + arr.Max());        

  输出结果:

第0组最小值为:1
第1组最小值为:12
第2组最小值为:26
第3组最小值为:32
第4组最小值为:41
第5组最小值为:55


最大值:56

 

转载于:https://www.cnblogs.com/rushme/p/7657278.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值