題目:輸入陣列,最大的與第一個元素交換,最小的與最后一個元素交換,輸出陣列,
程式分析:譚浩強的書中答案有問題,
實體:
1 #include<stdio.h> 2 #include<stdlib.h> 3 4 void fun(int *s,int n) 5 { 6 int i; 7 int max=s[0]; 8 int a=0; 9 for(i=0;i<n;i++) 10 { 11 if(s[i]>max) 12 { 13 max=s[i]; 14 a=i; 15 } 16 } 17 s[a]=s[0]; 18 s[0]=max; 19 int j; 20 int min=s[n-1]; 21 int b=n-1; 22 for(j=0;j<n;j++) 23 { 24 if(s[j]<min) 25 { 26 min=s[j]; 27 b=j; 28 } 29 } 30 s[b]=s[n-1]; 31 s[n-1]=min; 32 } 33 34 void printf_s(int *s,int n) 35 { 36 int i; 37 for(i=0;i<n;i++) 38 printf("%d ",s[i]); 39 printf("\n"); 40 } 41 42 int main() 43 { 44 int s[20]; 45 int i,n; 46 printf("設定陣列長度(<20):"); 47 scanf("%d",&n); 48 printf("輸入 %d 個元素:\n",n); 49 for(i=0;i<n;i++) 50 scanf("%d",&s[i]); 51 fun(s,n); 52 printf_s(s,n); 53 return 0; 54 }
輸出結果為:
設定陣列長度(<20):5 輸入 5 個元素: 12 123 4 65 21 123 12 21 65 4
感謝你的閱讀,請用心感悟!希望可以幫到愛學習的你!!分享也是一種快樂!!!請接力,,,
點擊查看原文,謝謝!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/4992.html
標籤:C
下一篇:C 實戰練習題目68
