回答編集履歴

1

ソース追記

2019/07/03 09:10

投稿

cateye
cateye

スコア6851

test CHANGED
@@ -3,3 +3,139 @@
3
3
  “九九表”で検索しましょう。
4
4
 
5
5
  [C言語で九九表](https://teratail.com/questions/27627)
6
+
7
+ 答えになってしまいますが・・・
8
+
9
+ ```text
10
+
11
+ usr ~/Project/test % ./a.out
12
+
13
+ 開始: 1
14
+
15
+ 終了: 9
16
+
17
+ 1 2 3 4 5 6 7 8 9
18
+
19
+ 2 4 6 8 10 12 14 16 18
20
+
21
+ 3 6 9 12 15 18 21 24 27
22
+
23
+ 4 8 12 16 20 24 28 32 36
24
+
25
+ 5 10 15 20 25 30 35 40 45
26
+
27
+ 6 12 18 24 30 36 42 48 54
28
+
29
+ 7 14 21 28 35 42 49 56 63
30
+
31
+ 8 16 24 32 40 48 56 64 72
32
+
33
+ 9 18 27 36 45 54 63 72 81
34
+
35
+ usr ~/Project/test % ./a.out
36
+
37
+ 開始: 2
38
+
39
+ 終了: 2
40
+
41
+ 2 4 6 8 10 12 14 16 18
42
+
43
+ usr ~/Project/test % ./a.out
44
+
45
+ 開始: 6
46
+
47
+ 終了: 5
48
+
49
+ 5 10 15 20 25 30 35 40 45
50
+
51
+ 6 12 18 24 30 36 42 48 54
52
+
53
+ usr ~/Project/test %
54
+
55
+ ```
56
+
57
+ usr ~/Project/test % cat t1.c
58
+
59
+ ```c
60
+
61
+ #include <stdio.h>
62
+
63
+ #include <stdlib.h>
64
+
65
+
66
+
67
+ // scanf()は問題が多いため数字を入力する為の関数(エラーチェックはしていない)
68
+
69
+ int getNum(void);
70
+
71
+
72
+
73
+ int main(void)
74
+
75
+ {
76
+
77
+ fputs("開始: ", stdout);
78
+
79
+ int start = getNum();
80
+
81
+
82
+
83
+ fputs("終了: ", stdout);
84
+
85
+ int end = getNum();
86
+
87
+
88
+
89
+ if (end < start) {
90
+
91
+ int tmp = start;
92
+
93
+ start = end;
94
+
95
+ end = tmp;
96
+
97
+ }
98
+
99
+
100
+
101
+ for (int row = start; row <= end; row++) {
102
+
103
+ for (int col = 1; col <= 9; col++) {
104
+
105
+ printf("%3d", row * col);
106
+
107
+ }
108
+
109
+ putchar('\n');
110
+
111
+ }
112
+
113
+
114
+
115
+ return 0;
116
+
117
+ }
118
+
119
+
120
+
121
+ int getNum(void)
122
+
123
+ {
124
+
125
+ char buf[256];
126
+
127
+ fgets(buf, sizeof buf, stdin);
128
+
129
+
130
+
131
+ int ret = (int)strtol(buf, 0, 10);
132
+
133
+ return ret;
134
+
135
+ }
136
+
137
+
138
+
139
+ ```
140
+
141
+ usr ~/Project/test %