回答編集履歴
2
更に追記
test
CHANGED
@@ -51,3 +51,11 @@
|
|
51
51
|
n = atoi(buff); // 数字取得
|
52
52
|
|
53
53
|
```
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
---さらに、追記 ---
|
58
|
+
|
59
|
+
scanf() --> fscanf(stdin, ...) ですね。で、他の方も書かれているように、cinと混在させるものでは無いです。 速度を気にされているようですが、参考にしたサイトがそう書かれているとの事ですが、何でそうしたのか、解説が無いでしょうか? まずは、その辺りからでしょう。
|
60
|
+
|
61
|
+
scanf()系が遅いのは、単純。読み込みフォーマットを引数の文字列で指定しているので、その解釈時間が余分なコストになるから。cinが遅いのは調べた事無いので推測ですが、scanf()等より、高度な事を内部でしているのでしょう。
|
1
Cでの方法
test
CHANGED
@@ -29,3 +29,25 @@
|
|
29
29
|
とする。 (cinでの書式付き入力がよく分からない)
|
30
30
|
|
31
31
|
`scanf()` は、標準入力からの読み込みですが、cin と混在した場合の挙動が保証されている? のでしょうか。 cinのバッファを切り替えた時点で? です。
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
-------
|
36
|
+
|
37
|
+
割り切って Cの入力を使うならば、 `stdin.h` をインクルードし、
|
38
|
+
|
39
|
+
```C
|
40
|
+
|
41
|
+
/// なんか
|
42
|
+
|
43
|
+
FILE *fp = fopen("../input.txt", "r");
|
44
|
+
|
45
|
+
/// なんか
|
46
|
+
|
47
|
+
char buff[100];
|
48
|
+
|
49
|
+
fgets(buff, 100, fp); // 文字列として行を読み込む
|
50
|
+
|
51
|
+
n = atoi(buff); // 数字取得
|
52
|
+
|
53
|
+
```
|