高手求解,一直不懂哪里出问题了
//这个程序用来输入一维数组的10个元素,并将最小值与第一个数交换,最大值与最后一个数交换. 运行结果 :98 24 56 78 1 32 36 44 29 6
24 6 56 78 1 32 36 44 29 98
一直找不出问题在哪,各位大神帮忙看一下,谢谢。
#include<stdio.h>
int Min(int *, int n);
int Max(int *, int n);
int main(void)
{
int i,mi,ma,temp;
int a[10];
for (i = 0; i < 10; i++)
scanf_s("%d", &a[i]);
if (mi=Min(a, 10)!=0)
{
temp = a[0];
a[0] = a[mi];
a[mi] = temp;
}
if (ma = Max(a, 10)!=9)
{
temp = a[9];
a[9] =a[ma];
a[ma] = temp;
}
for (i = 0; i < 10; i++)
printf("%d ", a[i]);
printf("\n");
return 0;
}
int Min(int *t, int n)
{
int i, j, k;
int z=0;
for (i = 0; i < n - 1; i++)
{
k = i;
for (j = 1; j < n; j++)
{
z=(t[k]>t[j]) ? j : k;
}
}
return z ;
}
int Max(int *t,int n)
{
int i, j, k;
int z=0;
for (i = 0; i < n - 1; i++)
{
k = i;
for (j = 1; j < n; j++)
{
z=(t[k] < t[j]) ? j : k;
}
}
return z;
}