c语言程序设计,写一个函数,将数组中n个元素的最大值和最小值交换,应用函数的调用。

写一个函数,将数组中n个元素的最大值和最小值交换。
该函数的定义形式:
void exchange(int a[],int n)
{
……….
}

第1个回答  2011-06-15
void exchange(int a[],int n)
{
int max = a[0],min = a[0],maxIndex=0,minIndex=0;
for(int i=1;i<n;++i)
{
if(a[i] > max){max = a[i];maxIndex = i;}
if(a[i] < min){min= a[i];minIndex = i;}
}
int tmp = a[maxIndex];
a[maxIndex] = a[minIndex];
a[minIndex] = tmp;
}本回答被网友采纳
第2个回答  2011-06-15
其实就是找出最大值和最小值的位置,记住此位置,然后交换对应的内容就行了。
我用手机发的,也不好写代码,给你个思路。

用C语言编写一个程序,求n个数中的最大值和最小值,要求用函数完成。
MaxMin GetMaxMin(int *array, int length){ int i; MaxMin maxMin; if (length <= 0) return maxMin; \/\/初始化最大值和最小值为数组第一个数 maxMin.Max = array[0]; maxMin.Min = array[0]; for (i = 0; i < length; i++) { if (array[i] >= maxMin.Max) m...

C语言程序设计:设计一函数求包含n个元素的数组的最大值、最小值与?
printf("%d\\n%d\\n%d\\n",max,min,sum);return 0;}

用C语言编程.写出一函数,求出有N个元素的整数数组的最大值及其...
楼主,我的程序如下。函数max读入一个n元素的数组a,返回其中最大元素的地址。这样,在调用max的函数中(这里是main),可以通过两种运算分别得到最大元素的值和它的下标(见main中注释)include int max(int a,int n){ int i;int p = a;for (i = 0;i < n;i++ )if (a[i]> p )p ...

...寻找具有n个元素的一维数组中的最大值和最小值,并返回数组元素的平均...
include<stdio.h>double fun(int a[],int n,int *max,int *min){int i,s; *max=*min=s=a[0]; for(i=1;i<n;i++) {if(a[i]>*max)*max=a[i]; if(a[i]<*min)*min=a[i]; s+=a[i]; } return (float)s\/n; }int main(){int n,max,min,i,a[100...

C语言编程:输入n个数,将最大的与第一个数交换,最小的与最后一个数交换...
include <stdio.h>void swap(int *a, int *b){printf("%d, %d\\n", *a, *b);int t = *a;*a = *b;*b = t;}void max_min(int *p, int n){int l = n;int *max = p, *min = p;while (n--) {min = *p > *min ? min : p;p++;}swap(min, --p);while (l...

C语言程序:数组中最大与第一个数对调,最小与最后一个对调
for (i=maxn=minn=0;i<n;i++)\/\/查找,其中maxn和minn分别表示最大和最小元素在数组中下标 { if (a[i]>a[maxn]) maxn=i;if (a[i]<a[minn]) minn=i;} swapvar(0,maxn);\/\/交换 swapvar(n-1,minn);for (i=0;i<n;i++)\/\/输出 { if (i) printf(" ");printf("%d...

c语言数组编程,输入n个整数,将这n个数按绝对值由大到小排序输出
inta[11];scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=1;i<n;i++){ for(j=0;j<n-i;j++){ if(a[j]<a[j+1]){ t=a[j];a[j]=a[j+1];a[j+1]=t;} } } for(i=0;i<n;i...

C语言,使用指针作为函数参数,写一求数组中最大值和最小指的函数
inta[]={1,5,6,2,3,8,9,7,4,5};//定义一个十个数据的数组 intmax;//存放最大值 intmin;//存放最小值 hanshu(a,10,&max,&min);//函数传送数组,并将最大值,最小值的地址传送 printf("Themaxnumberis%d\n",max);printf("Theminnumberis%d\...

用C语言编一个程序,把一个一维数组中最大的数和第一个数调换,最小的...
k = i;} \/\/循环一遍后,arr[k]即为最小值得那个数,k为其下标 tmp = arr[N-1];arr[N-1] = arr[k];arr[k] = tmp;\/\/最大值和第一个数交换了 printf("交换后,各个数字为:\\n");for( i = 0; i < N; i ++ )printf("%d ", arr[i]);system("pause");return 0;} ...

c语言编写一个函数,找出一维数组中的最大值和最小值,并计算出数组元素的...
n为数组元素个数,max指向最大数,min指向最小数,函数返回值为平均值*\/ int main(){ double b[10],aver;int x,y=10,max=0,*ma=&max,min=0,*mi=&min;for(x=0;x<y;x++){b[x]=x*(x-8.25)*0.1;printf("数%d=%f\\n",x,b[x]);} aver=fun(b,y,ma,mi);printf("最大...

相似回答