计算数组中N个数的平均值(均为正数),将小于平均值的数放到数组前部,大于等于平均值的数放到数组后部。

 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 }

 

posted @ 2021-04-10 20:53  新生代农民工  阅读(703)  评论(0)    收藏  举报