回答編集履歴

1

追記

2019/08/03 23:54

投稿

episteme
episteme

スコア16614

test CHANGED
@@ -15,3 +15,97 @@
15
15
  i = 0,1,..N-1 に対して:
16
16
 
17
17
  go[i]~go[N-1]の中で最も小さい(大きい)go[x]を見つけ、go[i]と交換せよ。
18
+
19
+
20
+
21
+ ```C
22
+
23
+ #include <stdio.h>
24
+
25
+
26
+
27
+ int cmp_str(char c1[], char c2[], int sort) {
28
+
29
+ /* 実装は省略 */
30
+
31
+ }
32
+
33
+
34
+
35
+ /* pとqを入れ換える */
36
+
37
+ void swap_str(char* p, char* q) {
38
+
39
+ /*-------------------------
40
+
41
+ * このナカミはあんたが埋めよ 
42
+
43
+ *------------------------- */
44
+
45
+ }
46
+
47
+
48
+
49
+ int main() {
50
+
51
+ int sort, i;
52
+
53
+ char go[5][100];
54
+
55
+
56
+
57
+ printf("昇順(1)or降順(2)?:");
58
+
59
+ scanf("%d",&sort);
60
+
61
+ printf("英単語を入力してください.\n");
62
+
63
+ for(i=0;i<5;i++){
64
+
65
+ scanf("%s",go[i]);
66
+
67
+ }
68
+
69
+
70
+
71
+ /* i = 0,1,..N-1 に対して: */
72
+
73
+ for ( i = 0; i < 5; i++ ) {
74
+
75
+ /* go[i]~go[N-1]の中で最も小さい(大きい)go[x]を見つけ*/
76
+
77
+ int x = i;
78
+
79
+ int j;
80
+
81
+ for ( j = i + 1; j < 5; ++j ) {
82
+
83
+ if ( cmp_str(go[inx],go[j],sort) ) {
84
+
85
+ x = j;
86
+
87
+ }
88
+
89
+ }
90
+
91
+ /* go[i] とgo[x] を交換せよ。*/
92
+
93
+ swap_str(go[i], go[x]);
94
+
95
+ }
96
+
97
+
98
+
99
+ /* できたかな? */
100
+
101
+ for ( i = 0; i < 5; ++i ) {
102
+
103
+ printf("%d: [%s]\n", i, go[i]);
104
+
105
+ }
106
+
107
+ return 0;
108
+
109
+ }
110
+
111
+ ```