1 #include<stdio.h> 2 int main() 3 { 4 int num[10]={1,2,3,4,5,6,7,8,9,10},num1[10]; 5 int i,j,k; 6 double average=0; 7 for(i=0;i<10;i++) //算平均数 8 average+=num[i]; 9 average/=10; 10 for(i=0,k=0;i<10;i++) //抓取小于平均数存至num1数组并把数组里面的值改为-1 11 if(num[i]<average) 12 { 13 num1[k++]=num[i]; 14 num[i]=-1; 15 } 16 for(i=j=0;i<10;i++) //将num数组里不是负数的值从头覆盖 17 if(num[i]>0) 18 num[j++]=num[i]; 19 while(j<10) //跟着前面排完的数接着覆盖 20 num[j++]=num1[--k]; 21 for(i=0;i<10;i++) 22 printf("%d\t",num[i]); 23 return 0; 24 }
计算数组中N个数的平均值(均为正数),将小于平均值的数放到数组前部,大于等于平均值的数放到数组后部。
原文:https://www.cnblogs.com/old-horse/p/14642075.html