輸入10個整數,將最小數與第一個數對換,最大數與最後一個數對換,寫3個函數

#include <stdio.h>
int main()
{
 void input(int a[],int n);
 void exchange(int a[],int n);
 void output(int a[],int n);
 int a[10];
 input(a,10);
 exchange(a,10);
 output(a,10);
 return 0;
}
void input(int a[],int n)
{
 int * i = a;
 printf("please input 10 integers:\n");
 for(;i<a+n;i++)
  scanf("%d",i);
}
void exchange(int a[],int n)
{
 int * i = a , t , * min ,* max;
 for(min=i;i<a+n;i++)//標記最小數,並與第一個數對換
  if(*i<*min)
   min=i;
  t=*min;*min=*a;*a=t;
 for(i=a,max=a+n-1;i<a+n;i++)//標記最大數,並與最後一個數對換
  if(*i>*(max))
   max=i;
  t=*max;*max=*(a+n-1);*(a+n-1)=t;
}
void output(int a[],int n)
{
 int * i = a;
 for(;i<a+n;i++)
  printf("%d ",*i);
 printf("\n");
}
發佈了14 篇原創文章 · 獲贊 20 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章