C 練習實例67

C 語言經典100例 C 語言經典100例

題目:輸入數組,最大的與第一個元素交換,最小的與最後一個元素交換,輸出數組。

程式分析:譚浩強的書中答案有問題。

實例

#include<stdio.h> #include<stdlib.h> void fun(int *s,int n) { int i; int max=s[0]; int a=0; for(i=0;i<n;i++) { if(s[i]>max) { max=s[i]; a=i; } } s[a]=s[0]; s[0]=max; int j; int min=s[n-1]; int b=n-1; for(j=0;j<n;j++) { if(s[j]<min) { min=s[j]; b=j; } } s[b]=s[n-1]; s[n-1]=min; } void printf_s(int *s,int n) { int i; for(i=0;i<n;i++) printf("%d ",s[i]); printf("\n"); } int main() { int s[20]; int i,n; printf("設置數組長度(<20):"); scanf("%d",&n); printf("輸入 %d 個元素:\n",n); for(i=0;i<n;i++) scanf("%d",&s[i]); fun(s,n); printf_s(s,n); return 0; }

輸出結果未:

設置數組長度(<20):5
輸入 5 個元素:
12 123 4 65 21
123 12 21 65 4 

C 語言經典100例 C 語言經典100例