iOS中取数组的最大值、最小值,下标,总和,平均值

来源:互联网 发布:网上挂号软件 编辑:程序博客网 时间:2024/05/16 17:17


标签: ios数组nsarrayindex

代码不多,其中采用了三目运算法对数据进行对比,如果有需要的话,自己把这个方法拆分,最小值不拆分有误差

这里是需要下标,直接上代码:

[objc] view plain copy
print?在CODE上查看代码片派生到我的代码片
  1. </pre><p class="p1"><pre name="code" class="objc">    NSArray * ary = @[@"45",@"876",@"234",@"98",@"23",@"63",@"34",@"4"];  
  2.     int max_number = 0;          //最大值  
  3.     int max_index = 0;           //最大值的下标  
  4.       
  5.     int min_number = INFINITY;   //最小值  
  6.     int min_index = 0;           //最小值下标  
  7.       
  8.     int all = 0;                 //总和  
  9.     float mid = 0;                //总和平均值  
  10.       
  11.     for (int i=0; i<ary.count; i++)  
  12.     {  
  13.         //取最大值和最大值的对应下标  
  14.         int a = [ary[i] intValue];  
  15.         if (a>max_number)  
  16.         {  
  17.             max_index=i;  
  18.         }  
  19.         max_number = a>max_number?a:max_number;  
  20.           
  21.         //取最小值和最小值对应的下标  
  22.         int b = [ary[i] intValue];  
  23.         if (b<min_number)  
  24.         {  
  25.             min_index = i;  
  26.         }  
  27.         min_number = b>min_number?min_number:b;  
  28.           
  29.         //去除数组中所有的值  
  30.         int c = [ary[i] intValue];  
  31.         all = all+c;  
  32.           
  33.         //求平均数  
  34.         mid = all/ary.count;  
  35.     }  
  36.     NSLog(@"输出最大值在数组中的下标---->>>%d",max_index);  
  37.     NSLog(@"输出数组中最大值---->>>>%d",max_number);  
  38.       
  39.     NSLog(@"输出最小值在数组中的下标---->>>%d",min_index);  
  40.     NSLog(@"输出数组中最小值---->>>>%d",min_number);  
  41.       
  42.     NSLog(@"输出所有的元素的和---->>>%d",all);  
  43.       
  44.     NSLog(@"输出数组内所有数据的平均数--->>>%.2f",mid);    // 考虑到不一定是刚好可以整除,所以取保留小数点后两位  
  45.       


如果不需要下标的话可以采用这一段代码

上代码喽:

[objc] view plain copy
print?在CODE上查看代码片派生到我的代码片
  1. CGFloat all_value = [[ary valueForKeyPath:@"@sum.floatValue"] floatValue];  //总和  
  2. CGFloat mid_value = [[ary valueForKeyPath:@"@avg.floatValue"] floatValue];  //平均数  
  3. CGFloat max_value = [[ary valueForKeyPath:@"@max.floatValue"] floatValue];  //最大值  
  4. CGFloat min_value = [[ary valueForKeyPath:@"@min.floatValue"] floatValue];  //最小值  
  5.   
  6.   
  7. NSLog(@"总值--->>>%.2f\n平均值--->>>%.2f\n最大值---->>>>%.2f\n最小值---->>>%.2f",all_value,mid_value,max_value,min_value);  


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 孕妇感冒咳嗽流鼻涕怎么办 鼻子痒流鼻涕流眼泪怎么办 天冷鼻子流鼻涕怎么办 感冒流水样鼻涕怎么办 一直有清水鼻涕怎么办 孩子总打喷嚏鼻塞怎么办 4岁儿童流鼻涕怎么办 孕妇清鼻涕不停怎么办 感冒流鼻水怎么办速效办法 一岁宝宝流清涕怎么办 咳嗽喉咙痛有痰怎么办 冻感冒了流鼻涕怎么办 吸烟经常嗓子疼怎么办 擦鼻涕擦破了怎么办 感冒鼻水流不停怎么办 流鼻涕鼻子都擦红了怎么办 鼻子不停的流水怎么办 擦鼻涕耳朵疼怎么办 鼻涕跟水一样怎么办 鼻涕水多打喷嚏怎么办 买来的鼻涕泥是水怎么办? 鼻炎鼻涕跟水怎么办 出门忘记带钥匙怎么办 总留鼻涕水怎么办 流像水一样的鼻涕怎么办 出门忘记带洗面奶怎么办 一侧鼻子流清水怎么办 慢性肠胃炎犯了怎么办 儿子拉肚肚子疼怎么办 皮肤太容易过敏怎么办 过敏脸一直不好怎么办 脸上突然过敏怎么办急救 脸过敏发红疼怎么办 脸上突然过敏了怎么办 脸过敏总反复怎么办 用蜂蜜洗脸过敏怎么办 脸上涂蜂蜜过敏怎么办 孕晚期脸过敏怎么办 吃芒果脸过敏怎么办 脸上老反复过敏怎么办 用什么都过敏怎么办