1の#include <stdio.hの> 2 フロート [ 10 ]。 3 フロート * P; 4 INT メイン() 5 { 6 ボイド入力(フロート *、INT )。 7 無効出力(フロート *、int型); 8 、空隙変化(フロート *、int型); 9 P = A。 10 入力(P、10 )。 11 のprintf(" 输入完成\ n " ); 図12は、ある 変更(P、10 ); 13である (printfの" 動作が\ N-完了" ); 14 出力(P、10 ); 15 のprintf(" 出力完了\ N- " ); 16 リターン 0 ; 17 } 18である 。19 int型分(フロート *、INT N-) 20である { 21れる INT分= 0 ; 22である ため(INT I = 1 ; I <N-; I ++ ) 23です { 24 であれば(*(A +分)> *(+ I))分= I。 25 } 26 リターン分。 27 } 28 のint MAX(フロート *、INT n)の 29 { 30 int型の最大値= 0 。 31 のために(INT iが= 1 ; iが<N; iが++ ) 32 { 33 であれば(*(+ max)は<*(+ I))MAX = I。 34 } 35 リターンマックス。 36 } 37 38 空隙入力(フロート *、INT n)の 39 { 40 のために(INTは iは= 0、I <N; I ++ ) 41 { 42 のscanf(" %のF "、+ I)。 43 } 44 } 45 46 空隙変化(フロート *、INT n)の 47 { 48 INT iは= 分(N)と、 49 int型 J = MAX(、n)は、 50 であれば(j == 0)J =。 //注意深く重要理解 51はある フロート TEMP = *(A + I); 52である *(A + I)= * A; 53である * A = TEMP; 54である 55 TEMP = *(A + J)、 56である (A + J * )= *(A + N- 1 ) 57である *(A + N- 1)= TEMP; 58 } 59 60 空隙出力(フロート * A、INT N-) 61である { 62がある ため(INT I = 0 ; I <N- ; I ++)のprintf(" %の7.2f "、* A ++ ); 63 printf(" \ n個" ); 64 }
結果: