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

回答編集履歴

1

ソース追記

2019/07/03 09:10

投稿

cateye
cateye

スコア6851

answer CHANGED
@@ -1,3 +1,71 @@
1
1
  過去に多数の質問が出ています。
2
2
  “九九表”で検索しましょう。
3
- [C言語で九九表](https://teratail.com/questions/27627)
3
+ [C言語で九九表](https://teratail.com/questions/27627)
4
+ 答えになってしまいますが・・・
5
+ ```text
6
+ usr ~/Project/test % ./a.out
7
+ 開始: 1
8
+ 終了: 9
9
+ 1 2 3 4 5 6 7 8 9
10
+ 2 4 6 8 10 12 14 16 18
11
+ 3 6 9 12 15 18 21 24 27
12
+ 4 8 12 16 20 24 28 32 36
13
+ 5 10 15 20 25 30 35 40 45
14
+ 6 12 18 24 30 36 42 48 54
15
+ 7 14 21 28 35 42 49 56 63
16
+ 8 16 24 32 40 48 56 64 72
17
+ 9 18 27 36 45 54 63 72 81
18
+ usr ~/Project/test % ./a.out
19
+ 開始: 2
20
+ 終了: 2
21
+ 2 4 6 8 10 12 14 16 18
22
+ usr ~/Project/test % ./a.out
23
+ 開始: 6
24
+ 終了: 5
25
+ 5 10 15 20 25 30 35 40 45
26
+ 6 12 18 24 30 36 42 48 54
27
+ usr ~/Project/test %
28
+ ```
29
+ usr ~/Project/test % cat t1.c
30
+ ```c
31
+ #include <stdio.h>
32
+ #include <stdlib.h>
33
+
34
+ // scanf()は問題が多いため数字を入力する為の関数(エラーチェックはしていない)
35
+ int getNum(void);
36
+
37
+ int main(void)
38
+ {
39
+ fputs("開始: ", stdout);
40
+ int start = getNum();
41
+
42
+ fputs("終了: ", stdout);
43
+ int end = getNum();
44
+
45
+ if (end < start) {
46
+ int tmp = start;
47
+ start = end;
48
+ end = tmp;
49
+ }
50
+
51
+ for (int row = start; row <= end; row++) {
52
+ for (int col = 1; col <= 9; col++) {
53
+ printf("%3d", row * col);
54
+ }
55
+ putchar('\n');
56
+ }
57
+
58
+ return 0;
59
+ }
60
+
61
+ int getNum(void)
62
+ {
63
+ char buf[256];
64
+ fgets(buf, sizeof buf, stdin);
65
+
66
+ int ret = (int)strtol(buf, 0, 10);
67
+ return ret;
68
+ }
69
+
70
+ ```
71
+ usr ~/Project/test %