#include
using namespace std;
void sum(double a[],int len)
{
double sum1=0,sum2=0;
for(int i=0;i
void max(double b[],int len)
{
int k=0;double temp;
for(int i=1;i
cout<<"最大值是:"<temp=b[0];b[0]=b[k];b[k]=temp;
cout<<"最大值与第一个数交换位置后的输出为:"<
}
void main()
{ int N;
cout<<"请输入数组长度";
cin>>N;
double *p=new double[N];
for(int i=0;i
cout<<"p["<cin>>*(p+i);
}
max(p,N);
sum(p,N);
delete [] p;
}
应该是换了,你再试一次吧
请输入数组长度5
p[0]=1
p[1]=2
p[2]=3
p[3]=4
p[4]=5
最大值是:5,下标为:4
最大值与第一个数交换位置后的输出为:
5 2 3 4 1
这组数之和为:15
各元素的平均值为:3
下标为奇数的元素之和为:6
有什么问题啊?
在调用数组时,数组是按引用传递,可以改变,而数组中的元素按值传递,不能改变大小。
你的意思是a[0]a[k]下标交换后,数组从a[k]开始吗?只是a[0]、a[k]的值交换,数组当然还是从0——k
问题不清楚,什么是主函数数组位置没有改变?