teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

ソース追記

2019/11/15 08:47

投稿

cateye
cateye

スコア6851

answer CHANGED
@@ -6,4 +6,45 @@
6
6
  ・入れ替え前の表示
7
7
  ・呼び出し(rev_intarray(vc, n);)
8
8
  ・反転・・・rev_intarray(int *vc, int n)
9
- ・入れ替え後の表示
9
+ ・入れ替え後の表示
10
+ 「追記」
11
+ ```c
12
+ #include <stdio.h>
13
+ #include <stdlib.h>
14
+
15
+ static void rev_intarray(int *vc, int n)
16
+ {
17
+ int *pos = vc + n - 1;
18
+ while (vc < pos) {
19
+ int tmp = *vc;
20
+ *vc++ = *pos;
21
+ *pos-- = tmp;
22
+ }
23
+ }
24
+
25
+ int main(void)
26
+ {
27
+ int vc[100];
28
+ for (int i = 0; i < 100; i++) {
29
+ vc[i] = i + 1;
30
+ }
31
+ char str[8];
32
+ fputs("要素数 ?", stdout);
33
+ fgets(str, sizeof str, stdin);
34
+ int n = (int)strtol(str, NULL, 10);
35
+ //
36
+ rev_intarray(vc, n);
37
+ //
38
+ for (int i = 0; i < n; i++) {
39
+ printf("%3d", vc[i]);
40
+ }
41
+ putchar('\n');
42
+
43
+ return 0;
44
+ }
45
+ ```
46
+ ```
47
+ usr ~/Project/test % ./a.out
48
+ 要素数 ?20
49
+ 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
50
+ ```

2

誤記修正

2019/11/15 08:47

投稿

cateye
cateye

スコア6851

answer CHANGED
@@ -2,7 +2,6 @@
2
2
  よく読んで下さい。
3
3
  ヒント↓
4
4
  ・100個のintの配列を作る・・・vc[100];
5
- ・配列を乱数で初期化・・・rand();
6
5
  ・要素数を読み込む・・・scanf();→n
7
6
  ・入れ替え前の表示
8
7
  ・呼び出し(rev_intarray(vc, n);)

1

加筆

2019/11/15 08:04

投稿

cateye
cateye

スコア6851

answer CHANGED
@@ -5,5 +5,6 @@
5
5
  ・配列を乱数で初期化・・・rand();
6
6
  ・要素数を読み込む・・・scanf();→n
7
7
  ・入れ替え前の表示
8
+ ・呼び出し(rev_intarray(vc, n);)
8
- void rev_intarray( int *vc, int n )
9
+ 反転・・・rev_intarray(int *vc, int n)
9
10
  ・入れ替え後の表示