c语言最值交换数组函数法 c语言数组交换最小值和最大值

C语言编写用函数找出数组的最大值与最小值,然后交换位置(要求函数形参用指针)fun(int *p, int n)
{inti,ka,ki,max,min;
for(max=min=p[0],ka=ki=0,i=1;in;i0)
{if(maxp[i]) {max=p[i];ka=i;}
if(min[i]) {min=p[i];ki=i;}
}
p[ka]=min;p[ki]=max;
}
C语言最大值最小值交换#include stdio.h
int main(void) {
int arr[3][4];
int max,min; /*记录最大值与最小值*/
int mini=0,minj=0,maxi=0,maxj=0; /*记录最大值与最小值c语言最值交换数组函数法的坐标*/
int i,j,temp;
printf ("请输入矩阵内容(3行4列)c语言最值交换数组函数法:\n");
for (i=0;i3;i)
for (j=0;j4;j)
scanf ("%d",arr[i][j]);
max=arr[0][0];
【c语言最值交换数组函数法 c语言数组交换最小值和最大值】 min=arr[0][0];
for (i=0;i3;i) {
for (j=0;j4;j)
if(arr[i][j]max) {
maxi = i;
maxj = j;
}
if(arr[i][j]min) {
mini = i;
minj = j;
}
}
printf ("原矩阵最小值为arr[%d][%d]=苡镅宰钪到换皇楹ǎ蛔畲笾滴猘rr[%d][%d]=%d 。\n",mini,minj,arr[mini][minj],maxi,maxj,arr[maxi][maxj]);
temp = arr[mini][minj]; /*交换最小值与最大值*/
arr[mini][minj] = arr[maxi][maxj];
arr[maxi][maxj] = temp;
printf ("最小值与最大值交换后矩阵c语言最值交换数组函数法:\n");
for (i=0;i3;i) {
for (j=0;j4;j)
printf ("%d\t",arr[i][j]);
printf ("\n");
}
return 0;
}
运行结果
c语言数组最大值与最小值交换两个for循环里面的数组赋值把数组的数据搞得乱起八糟的 , for里面为啥要赋值?第二,max和min最后永远等于n-1,if不用大括号根本作用不到max=i、min=i 。如果只是简单的最大和最小值交互,非常的简单,循环一遍,直接记住最大和最小值所在下标,最后再做交换 。两遍循环浪费时间 。
在c语言中如何将数组的最大值与最小值互换位置,求大神解答?。。?/h2>找到最大和最小值的下标,交换,例如:
#include stdio.h
main()
{
int a[10]={10,2,3,4,5,6,7,8,9,10},n=10;
int i1,i2,i;
i1=0;
for (i=0;in;i)if (a[i]a[i1]) i1=i;
i2=0;
for (i=0;in;i)if (a[i]a[i2]) i2=i;
i=a[i1]; a[i1]=a[i2];a[i2]=i;
for (i=0;in;i) printf("%d ",a[i]);
return 0;
}
扩展资料:
在C语言中,数组属于构造数据类型 。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型 。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别 。
关于可变长数组(VLA)的问题:原来的C89标准中是不允许可变长数组出现的 , 但是在C99标准中,加入了对VLA的支持,但是支持的编译器不多,而且由于栈溢出的安全问题,没有太多的人敢用这个可变长数组,所以在C11标准中又把它规定为可选实现的功能了 。
参考资料来源:百度百科-数组
c语言程序设计 , 写一个函数,将数组中n个元素的最大值和最小值交换,应用函数的调用 。void exchange(int a[],int n)
{
int max = a[0],min = a[0],maxIndex=0,minIndex=0;
for(int i=1;in;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;
}
c语言最值交换数组函数法的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于c语言数组交换最小值和最大值、c语言最值交换数组函数法的信息别忘了在本站进行查找喔 。

    推荐阅读