C実戦練習問題67
7642 ワード
タイトル:入力配列、最大は最初の要素と交換し、最小は最後の要素と交換し、出力配列.
プログラム分析:譚浩強の本には答えに問題がある.
例:
出力結果:
読んでくれてありがとう.心を込めて悟ってください.勉强好きなあなたに助けてほしい!分かち合うのも1种の楽しみです!!!リレーをお願いします...
クリックして原文を見て、ありがとうございます!
プログラム分析:譚浩強の本には答えに問題がある.
例:
1 #include
2 #include
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)
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)
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)
38 printf("%d ",s[i]);
39 printf("
");
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);
49 for(i=0;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
読んでくれてありがとう.心を込めて悟ってください.勉强好きなあなたに助けてほしい!分かち合うのも1种の楽しみです!!!リレーをお願いします...
クリックして原文を見て、ありがとうございます!