跪求赐教C++!

来源:百度知道 编辑:UC知道 时间:2024/06/25 02:46:23
这问题要用指针做就把我难到了,输入5个浮点数输出其中的最大值和平均值(用指针做),指针不是很懂,求高手赐教~~越快越好!

#include <iostream>
using namespace std;

void fun( double * a,int n,double * Max,double * Sum ){
*Max = *Sum =a[0];
double *q = a;
for( int i = 1;i < n;++i ){
if( *Max < *( q + i ) )
*Max = *( q + i );
*Sum += *( q + i );
}
}

int main(){
double a[5] = { 2,3, 4, 5,6};
double Max,Sum;
fun( a,5,&Max,&Sum );
cout<<"Max = "<<Max<<'\t'<<"Sum = " << Sum<<endl;
system("pause");
return 0;
}

其实是一样的,要吃饭了,给你说一下方法吧。指针就是地址,输入的时候就跟数组的首地址一样。只不过传递的时候不是内容而是地址,得到了地址用&取下内容就可以了。
不要想的太难啊!

指针可以看成一个中间变量,但指针是一个地址,必须指向你要处理的数据。既然你用其它方法可以做,你把一些变量值换成指针就行了,注意指针指向的是首地址而不是内容,和数组的名字用法有点相似。

下面的程序定义了一个指针pmax,指向最大的元素。
#include <iostream.h>

#define NUM 5

void main()
{
float a[NUM]={0},*pmax,sum=0;
int i;

cout<<"Input