C++数组调用

来源:百度知道 编辑:UC知道 时间:2024/06/14 22:59:00
#include<iostream>
using namespace std;
void sum(double a[],int len)
{
double sum1=0,sum2=0;
for(int i=0;i<len;i++)sum1+=a[i];
cout<<"这组数之和为:"<<sum1<<endl;
cout<<"各元素的平均值为:"<<sum1/len<<endl;
for(int i=1;i<len;i+=2)sum2+=a[i];
cout<<"下标为奇数的元素之和为:"<<sum2<<endl;
}

void max(double b[],int len)
{
int k=0;double temp;
for(int i=1;i<len;i++)if(b[i]>b[k])k=i;
cout<<"最大值是:"<<b[k]<<",下标为:"<<k<<endl;
temp=b[0];b[0]=b[k];b[k]=temp;
cout<<"最大值与第一个数交换位置后的输出为:"<<endl;
for(int i=0;i<len;i++)cout<<b[i]<<" ";
cout<<endl;

}
void main()
{ int N;
cout<<"请输入数组长度";
cin>>N;
double *p=new double[N];
for(int i=0;i<N;i++

在调用数组时,数组是按引用传递,可以改变,而数组中的元素按值传递,不能改变大小。

请输入数组长度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

有什么问题啊?

#include<iostream>
using namespace std;
void sum(double a[],int len)
{
double sum1=0,sum2=0;
for(int i=0;i<len;i++)sum1+=a[i];
cout<<"这组数之和为:"<<sum1<<endl;
cout<<"各元素的平均值为:"<<sum1/len<<endl;
for(int i=1;i<len;i+=2)sum2+=a[i]; //i 重定义。。。。。。
cout<<"下标为奇数的元素之和为:"<<sum2<<endl;
}

void max(double b[],int len)
{
int k=0;double temp;
for(int i=1;i<len;i++)if(b[i]>b[k])k=i;
cout<<"最大值是:"<<b[k]<<",下标为:"<<k<<endl;
temp=b[0];b[0]=b[k];b[k]=temp;
cout<<"最大值与第一个数交换位置后的输出为:"<<en