
有一个一维数组内放10个学生成绩,写一个函数,求出平均分,最高分和最低分。 假设
用一个函数,最后求出三个值来。如果不使用函数调用,我会做这个题,非常简单。我知道一个函数只能有一个返回值,所以就不知道另外2个值怎么从被调函数里怎么带回来。老师说,也可以...
用一个函数,最后求出三个值来。
如果不使用函数调用,我会做这个题,非常简单。我知道一个函数只能有一个返回值,所以就不知道另外2个值怎么从被调函数里怎么带回来。老师说,也可以用三个指针,但是我不会做了。请前辈帮忙指导程序清单了,谢谢!!
如果有多个程序方案更好,谢谢啦!! 展开
如果不使用函数调用,我会做这个题,非常简单。我知道一个函数只能有一个返回值,所以就不知道另外2个值怎么从被调函数里怎么带回来。老师说,也可以用三个指针,但是我不会做了。请前辈帮忙指导程序清单了,谢谢!!
如果有多个程序方案更好,谢谢啦!! 展开
展开全部
#include <stdio.h>
#include <stdlib.h>
float *info(float *p,int n);/*函数返回类型为指向float类型的指针*/
void main()
{
float a[10]={98,67,87,66,89,97,44,78,86,89};
float *b;/*接收函数的返回值*/
b=info(a,10);
printf("最高分%5.2f\n",b[0]);
printf("最低分%5.2f\n",b[1]);
printf("平均分%5.2f\n",b[2]);
system("pause");
}
float *info(float *p,int n)
{
int i;
float max,min;
float sum,avg;
float rinfo[3];/*保存结果的数组*/
float *pinfo;
max=p[0];
min=p[0];
sum=0;
for(i=0;i<n;i++)
{
if(max<p[i])
max=p[i];
if(min>p[i])
min=p[i];
sum+=p[i];
}
avg=sum/n;
rinfo[0]=max;
rinfo[1]=min;
rinfo[2]=avg;/**/
pinfo=rinfo;
return pinfo;
}
#include <stdlib.h>
float *info(float *p,int n);/*函数返回类型为指向float类型的指针*/
void main()
{
float a[10]={98,67,87,66,89,97,44,78,86,89};
float *b;/*接收函数的返回值*/
b=info(a,10);
printf("最高分%5.2f\n",b[0]);
printf("最低分%5.2f\n",b[1]);
printf("平均分%5.2f\n",b[2]);
system("pause");
}
float *info(float *p,int n)
{
int i;
float max,min;
float sum,avg;
float rinfo[3];/*保存结果的数组*/
float *pinfo;
max=p[0];
min=p[0];
sum=0;
for(i=0;i<n;i++)
{
if(max<p[i])
max=p[i];
if(min>p[i])
min=p[i];
sum+=p[i];
}
avg=sum/n;
rinfo[0]=max;
rinfo[1]=min;
rinfo[2]=avg;/**/
pinfo=rinfo;
return pinfo;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询