重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
前面已经有两位高手做出了回答,我运行了一下,《怺逺恒暒》有时候得不到正确的结果;《kaixingui2012》的不能运行,提示类型不对。不知道什么原因,也许是我的版本有问题?
成都创新互联公司科技有限公司专业互联网基础服务商,为您提供托管服务器,高防物理服务器租用,成都IDC机房托管,成都主机托管等互联网服务。
我也做了一个,感觉运行还是不错的。请比较吧!
#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
#define MAXSIZE 10
main()
{
int a[MAXSIZE];
int k;
printf("please inter ten number:");
for(k=0;kMAXSIZE;k++)
{
scanf("%d",a[k]);
}
Fun(a);
for(k=0;kMAXSIZE;k++)
printf("%d,",a[k]);
}
void Fun(int a[])
{
int i;
int temp;
int MaxNum=a[0];
int maxIndex = 0;
int minIndex = 0;
int MinNum=a[0];
for(i=0;i10;i++)
{
if(a[i]MaxNum)
{
MaxNum=a[i];
maxIndex = i;
}
else if(a[i]MinNum)
{
MinNum=a[i];
minIndex = i;
}
}
temp = a[maxIndex];
a[maxIndex] = a[minIndex];
a[minIndex] = temp;
}
扩展资料:
指针定义格式
类型名 *函数名(函数参数列表);
其中,后缀运算符括号“()”表示这是一个函数,其前缀运算符星号“*”表示此函数为指针型函数,其函数值为指针,即它带回来的值的类型为指针,当调用这个函数后,将得到一个“指向返回值为…的指针(地址),“类型名”表示函数返回的指针指向的类型”。
“(函数参数列表)”中的括号为函数调用运算符,在调用语句中,即使函数不带参数,其参数表的一对括号也不能省略。其示例如下:int *pfun(int, int);由于“*”的优先级低于“()”的优先级,因而pfun首先和后面的“()”结合,也就意味着,pfun是一个函数。即:int *(pfun(int, int));
接着再和前面的“*”结合,说明这个函数的返回值是一个指针。由于前面还有一个int,也就是说,pfun是一个返回值为整型指针的函数。
#includestdio.h
int Max(int a[],int n)
{
int s,max=0;
for(s=1;s=9;s++)//逐个循环进行比较大小找出最大值
{
if(a[max]a[s])
max=s;
}
return max;
}
int Min(int a[],int c)
{
int d,min=0;
for(d=1;d=9;d++)
{
if(a[min]a[d])
min=d;
}
return min;
}
main()
{
int a[10],i,n;
printf("请任意输入10个数字\n");
for(i=0;i10;i++)
scanf("%d",a[i]);
int larger;
larger=Max(a,10);//调用Max函数找出最大值并赋值
printf("最大数为%d\n",a[larger]);
int smaller;
smaller=Min(a,10);
printf("最小数为%d\n",a[smaller]);
n=a[larger];
a[larger]=a[smaller];
a[smaller]=n;
for(i=0;i10;i++)
printf("%2d",a[i]);
}
#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;
}