作业帮 > 综合 > 作业

C:输入10个实数存在数组中,将大于 等于平均数的元素放在数组的前面,小于平均数的元素放在数组的后面并输出

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/04/28 18:40:55
C:输入10个实数存在数组中,将大于 等于平均数的元素放在数组的前面,小于平均数的元素放在数组的后面并输出
C:输入10个实数存在数组中,将大于 等于平均数的元素放在数组的前面,小于平均数的元素放在数组的后面并输出
先求出平均数,然后用另外一个数组来根据要求分别存储原数组中的元素,具体看程序:
#include
void main()
{
float num[10];
int i = 0;
float sum = 0,avg = 0;
for(;i < 10;i++)
scanf("%f",&num[i]);
for(i = 0;i < 10;i++)
sum += num[i];
avg = sum/10;
float temp[10];
int begin = 0,end = 9;
for(i = 0;i < 10;i++)
{
if(num[i] >= avg)
{
temp[begin] = num[i];//将不小于平均数的放在前面
begin++;
}
else
{
temp[end] = num[i];//将小于平均数的放在后面
end--;
}
}
for(i = 0;i < 10;i++)
printf("%f ",temp[i]);
printf("\n");
}
其实还有另外一种思路,直接将该数组按照从大到小的顺序排序就行了,结果肯定也是不小于平均数的在前面,小于平均数的在后面.