前面已经有两位高手做出了回答,我运行了一下,《怺逺恒暒》有时候得不到正确的结果;《kaixingui2012》的不能运行,提示类型不对。不知道什么原因,也许是我的版本有问题?
为古蔺等地区用户提供了全套网页设计制作服务,及古蔺网站建设行业解决方案。主营业务为成都做网站、网站设计、外贸营销网站建设、古蔺网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
我也做了一个,感觉运行还是不错的。请比较吧!
#include "stdio.h"
double fun(double a[],int n,int *max,int *min);/*函数原型声明:其中a为数组,
n为数组元素个数,max指向最大数,min指向最小数,函数返回值为平均值*/
int main()
{
double b[10],aver;
int x,y=10,max=0,*ma=max,min=0,*mi=min;
for(x=0;xy;x++){b[x]=x*(x-8.25)*0.1;printf("数%d=%f\n",x,b[x]);}
aver=fun(b,y,ma,mi);
printf("最大的数为第%d个数(%f),最小的数为第%d个数(%f),平均值为%f",*ma,b[*ma],*mi,b[*mi],aver);
return 0;
}
double fun(double a[],int n,int*max,int*min)
{
int i;
double sum=0;
double max1=a[0],min1=a[0];
*max=0;
*min=0;
for(i=0;in;i++)
{
if(a[i]max1){*max=i;max1=a[i];}
if(a[i]min1){*min=i;min1=a[i];}
sum=sum+a[i];
}
printf("sum=%f,n=%d\n",sum,n);
return sum/n;
}
#includestdio.h
int max(int n)
{int i,x,f;
scanf("%d",f);
for(i=1;in;i++)
{scanf("%d",x);
if(xf)f=x;
}
return f;
}
int main()
{int n;
printf("有几个数:");
scanf("%d",n);
printf("其中最大的数是:%d\n",max(n));
return 0;
}
#includestdio.h
int min;
int maxmin(int n)
{int i,x,f;
scanf("%d",f);
min=f;
for(i=1;in;i++)
{scanf("%d",x);
if(xf)f=x;
else if(xmin)min=x;
}
return f;
}
int main()
{int n,mm;
printf("有几个数:");
scanf("%d",n);
mm=maxmin(n);
printf("其中最大的数是:%d\n最小的数是:%d\n",mm,min);
return 0;
}
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函数
自定义函数实现
int max(int a,int b)
{
return ab?a:b;
}