| 番号 | 正解 | コメント |
|---|---|---|
| (ⅰ) | %d | %lf という誤答が多かった。 |
| (ⅱ) | &n | |
| (ⅲ) | %f | %lf は望ましくない。 |
| (ⅳ) | n*6.25 | (double)n*6.25 など必要のないキャストが入った解答が多かった。 |
(0,0)␣(0,1)␣(0,2)␣↓ (1,1)␣(1,2)␣↓ (2,2)␣↓
#include <stdio.h>
int main(void) {
int i;
for (i = 0; i < 10; i++) {
putchar('*');
}
if (i%2==0) {
printf("%d ", i);
}
return 0;
}
以下のようにブレースをいれてしまうと、プログラムの意味が変わってしまう。
/* 間違い */
#include <stdio.h>
int main(void) {
int i;
for (i = 0; i < 10; i++) {
putchar('*');
if (i%2==0) {
printf("%d ", i);
}
}
return 0;
}
このような勘違いを防ぐために、インデンテーションの約束事:
ブレース({ 〜 })の中は、外よりも 4 または 8 字分(首尾一貫した文字数)を字下げする。
if 文, if 〜 else 文 や for 文, while 文, do 〜 while 文などでは、 選択されたり、繰り返したりされる文が一つだけの場合も、 ブレース({〜})に囲む。
がある。
#include <stdio.h>
int main(void) {
int i;
for (i = 1; i <= 60; i++) {
printf("360 = %d * %d + %d\n", 360 / i, i, 360 % i);
}
return 0;
}