請撰寫一個func函數,此函數可傳入5個浮點數,並記計算5個數的平均值,最大值,最小值,平方和及連乘積,並將這些值以參照方式傳回主程式.
請問各位大大 該如何寫? C++程式真好難懂唷!!
2007-10-21 10:04:55 · 3 個解答 · 發問者 ling 1 in 電腦與網際網路 ➔ 程式設計
#include
using namespace std;
void func(float f[5], float& avg, float& max, float& min, float& square, float& product)
{
int i;
avg = square = 0;
max = min = f[0];
product = 1;
for (i = 0; i < 5; i++)
{
avg += f[i];
square += f[i]*f[i];
product *= f[i];
if (f[i] > max)
max = f[i];
if (f[i] < min)
min = f[i];
}
avg /= 5;
}
int main()
{
float fArr[5], favg, fmax, fmin, fsquare, fproduct;
cout << "輸入5個浮點數: ";
cin >> fArr[0] >> fArr[1] >> fArr[2] >> fArr[3] >> fArr[4];
func(fArr, favg, fmax, fmin, fsquare, fproduct);
cout << "平均值: " << favg << endl;
cout << "最大值: " << fmax << endl;
cout << "最小值: " << fmin << endl;
cout << "平方和: " << fsquare << endl;
cout << "連乘積: " << fproduct << endl;
system("PAUSE");
return 0;
}
輸入5個浮點數: -8.2 6.5 3 5 2
平均值: 1.66
最大值: 6.5
最小值: -8.2
平方和: 147.49
連乘積: -1599
請按任意鍵繼續 . . .
輸入5個浮點數: 2.5 3 4 6 10.2
平均值: 5.14
最大值: 10.2
最小值: 2.5
平方和: 171.29
連乘積: 1836
請按任意鍵繼續 . . .
2007-10-21 10:46:08 · answer #1 · answered by 這個世界越來越爛 4 · 0⤊ 0⤋
#include
#include
using namespace std;
double& sum(double &s, double &a, double &b)
{
s=a+b;
return s;
}
double& max(double &a, double &b)
{
return (a>b?a:b);
}
double& min(double &a, double &b)
{
return (a
}
double& sum2(double &sos, double &a, double &b)
{
sos=a*a+b*b;
return sos;
}
double& pro(double &p, double &a, double &b)
{
p=a*b;
return p;
}
int main(int argc, char** argv){
//=====START=====//
double a=1.2,b=3.4;
double s,sos,p;
printf("Sum= %lf\n",sum(s,a,b));
printf("Max= %lf\n",max(a,b));
printf("Min= %lf\n",min(a,b));
printf("Sum of 2= %lf\n",sum2(sos,a,b));
printf("Product= %lf\n",pro(p,a,b));
//=====END=====//
system("PAUSE");
return 0;
}
2007-10-21 10:46:14 · answer #2 · answered by Big_John-tw 7 · 0⤊ 0⤋
以下是主方程式的程式碼:
#include
using namespace std;
void func(float ,float ,float ,float ,float ,float *,float *,float *,float *,float *);
void main(){
float a=0,b=0,c=0,d=0,e=0;
float avg=0,max=0,min=0,sqr=0,multi=0;
cout<<"½Ð¿é¤J5ӼƦr:";
cin>>a>>b>>c>>d>>e;
func(a,b,c,d,e,&avg,&max,&min,&sqr,&multi);
cout<<"¥§¡È="<
}
以下是函數的程式碼:
#include
using namespace std;
void func(float a, float b,float c, float d, float e,float *avg,float *max,float *min,float *sqr,float *multi){
*avg = (a+b+c+d+e)/5;
if((a>b)&(a>c)&(a>d)&(a>e))
*max=a;
else if((b>a)&(b>c)&(b>d)&(b>e))
*max=b;
else if((c>a)&(c>b)&(c>d)&(c>e))
*max=c;
else if((d>a)&(d>b)&(d>c)&(d>e))
*max=d;
else
*max=e;
if((a
*min=a;
else if((b
*min=b;
else if((c
*min=c;
else if((d
*min=d;
else
*min=e;
*sqr = (a*a+b*b+c*c+d*d+e*e);
*multi = (a*b*c*d*e);
}
2007-10-21 10:46:02 · answer #3 · answered by 小白 5 · 0⤊ 0⤋