質問編集履歴

1

感謝の気持ち

2015/12/19 02:26

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -49,3 +49,79 @@
49
49
  ```
50
50
 
51
51
  ここで行き詰っています。線の出し方がわかりません。
52
+
53
+
54
+
55
+
56
+
57
+ ---
58
+
59
+
60
+
61
+
62
+
63
+ みなさんありがとうございます!
64
+
65
+ 素晴らしいヒントを参考にして自分なりに考えてみたところこんなコードになりました。
66
+
67
+ ```C
68
+
69
+ int i, x, y;
70
+
71
+
72
+
73
+ for (i = 1; i <= 9*2; i++) {
74
+
75
+ if (i == 1) {
76
+
77
+ printf(" |%3d", i);
78
+
79
+ } else if (i <= 9) {
80
+
81
+ printf("%3d", i);
82
+
83
+ }
84
+
85
+ if (i == 9*2) {
86
+
87
+ printf("---\n");
88
+
89
+ } else if (i == 9*2-9) {
90
+
91
+ printf("\n---+");
92
+
93
+ } else if (i > 9){
94
+
95
+ printf("---");
96
+
97
+ }
98
+
99
+ }
100
+
101
+
102
+
103
+ for (y = 1; y <= 9; y++) {
104
+
105
+ printf("%2d |", y);
106
+
107
+ for (x = 1; x <= 9; x++) {
108
+
109
+ printf("%3d", x * y);
110
+
111
+ }
112
+
113
+ putchar('\n');
114
+
115
+ }
116
+
117
+ ```
118
+
119
+ これで、一応うまくいったのですが、無駄なことが多くて、改善の余地がある気がします。
120
+
121
+ 最初の for文に if文が2つあることが無駄。
122
+
123
+ もう少しコンピューター的にできそう。といったところです・・・
124
+
125
+
126
+
127
+ 本当に助かりましたありがとうございました!