功能。 点击复制后,将打开C知道体验页 | C++编写程序,将数列中大于平均值的元素往前放,小于平均值的数往后放。数列输入、数列输出、数列求平均值、数列重排分别用四个子函数实现。
时间: 2023-06-18 20:06:26 浏览: 130
C++语言上机练习.pdf
好的,以下是实现该功能的C++代码:
```c++
#include<iostream>
using namespace std;
// 子函数1:数列输入
void input(int a[], int n)
{
cout<<"请输入"<<n<<"个整数:"<<endl;
for(int i=0; i<n; i++)
{
cin>>a[i];
}
}
// 子函数2:数列输出
void output(int a[], int n)
{
for(int i=0; i<n; i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
}
// 子函数3:数列求平均值
double average(int a[], int n)
{
int sum = 0;
for(int i=0; i<n; i++)
{
sum += a[i];
}
return (double)sum / n;
}
// 子函数4:数列重排
void rearrange(int a[], int n)
{
double avg = average(a, n); // 求平均值
int count = 0; // 统计大于平均值的个数
for(int i=0; i<n; i++)
{
if(a[i] > avg)
{
int temp = a[i];
for(int j=i; j>count; j--)
{
a[j] = a[j-1];
}
a[count] = temp;
count++;
}
}
}
int main()
{
const int N = 10;
int a[N];
input(a, N);
cout<<"原数列:";
output(a, N);
rearrange(a, N);
cout<<"新数列:";
output(a, N);
return 0;
}
```
代码说明:
1. `input`函数用于输入数列,参数为数列数组和数列长度。
2. `output`函数用于输出数列,参数为数列数组和数列长度。
3. `average`函数用于求数列平均值,参数为数列数组和数列长度,返回值为平均值。
4. `rearrange`函数用于数列重排,参数为数列数组和数列长度。在函数中,首先调用`average`函数求出平均值,然后遍历数列,将大于平均值的元素往前放,小于平均值的数往后放。
5. `main`函数中定义了一个常量`N`表示数列长度,定义了一个数列数组`a`,调用`input`函数输入数列,输出原数列,调用`rearrange`函数重排数列,输出新数列。
注意:这里代码只是完成了题目要求的功能,实际应用中需要进行一定的错误处理和优化。
阅读全文