題目:輸入陣列,最大的與第一個元素交換,最小的與最後一個元素交換,輸出陣列。
阿新 • • 發佈:2021-02-04
題目:輸入陣列,最大的與第一個元素交換,最小的與最後一個元素交換,輸出陣列。
#include <stdio.h>
int main()
{
int a[10];
int i;
printf("請輸入一個10個數的陣列:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
exchange(a,10);
print_f(a,10);
return 0;
}
void exchange(int *s,int n)
{
int max,min;
max= min=*s;
int k,i,m;
for(i=1;i<n;i++){
if(*(s+i)>max){
max=*(s+i);
k=i;
}
if(*(s+i)<min){
min=*(s+i);
m=i;
}
}
*(s+k)=*s;
*s=max;
*(s+m)=*(s+9);
*(s+9)=min;
}
void print_f(int *s,int n)
{
int i;
for(i=0;i<n;i++)
printf("%d ",*(s+i)) ;
}
執行結果: