重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
//修改如下
创新互联建站服务项目包括城关网站建设、城关网站制作、城关网页制作以及城关网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,城关网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到城关省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
#include stdio.h
#include stdlib.h
void main()
{
float averMaxMin(int a[],int n,int *pmax, int *pmin);
int i,n,a[100],*pmax,*pmin;
printf("请输入需要比较的数的个数:");
scanf("%d",n);
printf("请输入需要比较的数:");
for(i=0;in;i++)
scanf("%d",a[i]);
pmax=(int *)malloc(sizeof(int));//分配内存,我帮你改了这里
pmin=(int *)malloc(sizeof(int));
//多余的averMaxMin(a,n,pmax,pmin);
printf("平均值是%f\n",averMaxMin(a,n,pmax,pmin));
printf("最大值为%d,最小值为%d\n",*pmax,*pmin);
}
float averMaxMin(int a[],int n,int *pmax, int *pmin)
{
int i;
float aver,sum=0.0;
*pmax=*pmin=a[0];
for(i=0;in;i++)
{
sum+=a[i];
if(a[i]*pmax)//这里也修改了,应该让*pmax=a[i],这里才能改变地址的内容
*pmax=a[i];
if(a[i]*pmin)
*pmin=a[i];
}
aver=sum/n;
return (aver);
}
C语言C99新特性里面有现成的求解最大值函数,fmax, 包含的库为math.h, 具体的函数声明为:
double fmax(double x, double y);
如果用int类型也没有问题,我刚刚试了一下。
自定义函数实现
int max(int a,int b)
{
return ab?a:b;
}
max函数用于求最大值,可以定义如下函数:
int max(int a, int b)
{
if(ab) return a;
return b;
}
不过该函数只能用于整型而不能用于其它类型。如果有其它类型,比如浮点型,则需要再重新修改。
float max(float a , float b)
{
if( a b) return a;
return b;
}
其实这样代码量比较少的操作,可以定义为宏函数,即带参宏定义的形式。
#define max(a,b) ((a)(b)?(a):(b))
这样既可以不受参数类型限制,又可以提高执行效率。
不过从你的代码来看,只需要定义int类型的max函数即可。
扩展资料:
max(x,y)=0.5*(x+y+|x-y|);在概率论中多有使用,可以将参数指定为数字、空白单元格、逻辑值或数字的文本表达式。如X、Y独立同分布,X~N(0,1),求期望E(max(x,y))。
参考资料来源:百度百科-max函数