γλͺ©μ°¨γ
0. κ°μ
1. λ¬Έμ
2. νμ΄
3. μ½λ
0. κ°μ
Cμμ EOF, scanf(), feof()μ κ°λ μ λν΄ μκ³ μμΌλ©΄ ν μ μλ λ¬Έμ .
1. λ¬Έμ
https://www.acmicpc.net/problem/10951
[λ¬Έμ ]
λ μ μ Aμ Bλ₯Ό μ λ ₯λ°μ λ€μ, A+Bλ₯Ό μΆλ ₯νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
[μ λ ₯]
μ λ ₯μ μ¬λ¬ κ°μ ν μ€νΈ μΌμ΄μ€λ‘ μ΄λ£¨μ΄μ Έ μλ€.
κ° ν μ€νΈ μΌμ΄μ€λ ν μ€λ‘ μ΄λ£¨μ΄μ Έ μμΌλ©°, κ° μ€μ Aμ Bκ° μ£Όμ΄μ§λ€. (0 < A, B < 10)
[μΆλ ₯]
κ° ν μ€νΈ μΌμ΄μ€λ§λ€ A+Bλ₯Ό μΆλ ₯νλ€.
[μμ μ λ ₯ 1]
1 1
2 3
3 4
9 8
5 2
[μμ μΆλ ₯ 1]
2
5
7
17
7
2. νμ΄
μ΄ λ¬Έμ μ ν΅μ¬μ λͺ κ°μ ν μ€νΈ μΌμ΄μ€λ₯Ό μ λ ₯ λ°μμ§ μ μ μλ€λ μ μ΄λ€. νμΌμ λμ λλ¬νμ¬ λ μ΄μ μ½μ λ°μ΄ν°κ° μμ λ, μ λ ₯ μ€νΈλ¦Όμ EOF(End Of File)λ₯Ό 리ν΄νλ€. EOFλ End Of Fileμ μ½μλ‘, νμΌμ λμ νννκΈ° μν΄ -1λ‘ μ μλ μμμ΄λ€. (μ΄λ ν€λνμΌ <stdio.h>μ 41νμ μ μλμ΄ μλ€.) κ²°κ΅, μ΄ λ¬Έμ λ EOFκ° λ λκΉμ§ λ°λ³΅ν΄μ μ λ ₯μ λ°μΌλ©΄ λλ λ¬Έμ μ΄λ€.
while (scanf("%d %d", &a, &b) != EOF)
while (scanf("%d %d", &a, &b) == 2)
/* line 1κ³Ό line 2μ€ νλλ₯Ό μ ννμ¬ λ¬Έμ λ₯Ό νλ©΄ λλ€. */
μ΄ λ¬Έμ μ ν΅μ¬μ΄ λλ μ½λλ μμ κ°λ€. μ΄λ νμΌμ λ(EOF)μ λλ¬ν λ κΉμ§ whileλ¬Έμ μ€ννλ€λ μλ―Έλ₯Ό μ§λλ€.
scanf ν¨μλ 'μ½μ΄λ€μΈ μ λ ₯μ κ°μλ₯Ό λ°ν'νλ€. (μ΄λ₯Ό μλ©΄, scanfλ‘ μ λ ₯κ°μ μ½μ΄λ€μΌ λ "C6031 λ°νκ°μ΄ 무μλμμ΅λλ€." λΌλ κ²½κ³ κ° λ¨λ μ΄μ λ μ μ μλ€.) 'μ½μ΄λ€μΈ μ λ ₯μ κ°μλ₯Ό λ°ν'νλ€λ κ²μ scanfν¨μ νΈμΆ μ μ¬μ©ν νμ μ§μ μ(%λ‘ μμνλ νμ) μ€ λͺ κ°κ° μ²λ¦¬λμλμ§λ₯Ό λ°ννλ€λ μλ―Έμ΄λ€. μ¦, νμΌμ λ(EOF)μ λλ¬νλ©΄ -1(=EOF)μ λ°ννλ€.
μλ₯Ό λ€μ΄ μλμ κ°μ μ½λλ₯Ό μ€ννλ€κ³ κ°μ νμ.
int main() {
int a, b;
int n = scanf('%d %d', &a, &b);
printf("%d", n);
return 0;
}
1 1 μ
λ ₯ μ 2κ° μΆλ ₯λλ€.
1κ³Ό 1μ 곡백μ λκ³ μ
λ ₯νλ©΄ μ§μ λ νμμΈ μ μκ° 2κ°κ° μ μμ μΌλ‘ μ
λ ₯λμκΈ° λλ¬Έμ scanf() ν¨μλ 2λ₯Ό μΆλ ₯ν¨μΌλ‘μ¨ %d 2κ°κ° μ²λ¦¬λμμμ μλ €μ€λ€.
a 1 μ
λ ₯ μ μΆλ ₯μ μ΄λ»κ² λ κΉ?
λλ²μ§Έ %dλ μ μμ μΌλ‘ μ
λ ₯λμ΄ 1μ΄ μΆλ ₯λ κ±°λΌ μκ°ν μ μμ§λ§ 0μ΄ λ°νλλ€. κ·Έ μ΄μ λ scanf() ν¨μλ μλͺ»λ μ
λ ₯κ°μ λ§λλ©΄ μ
λ ₯μ μ€ν¨λ‘ μ²λ¦¬νκ³ ν¨μλ₯Ό μ’
λ£νκΈ° λλ¬Έμ΄λ€. λ°λΌμ 첫λ²μ§Έ %dμμ μ€λ₯κ° λ λ¬Έμ 'a'λ νμ€ μ
λ ₯ λ²νΌμ λ¨κ³ λλ²μ§Έ %dλ₯Ό μ²λ¦¬νκΈ° μ scanfν¨μκ° μ’
λ£λλ€.
1 z μ
λ ₯ μ μΆλ ₯μ μ΄λ»κ² λ κΉ?
1μ΄ μΆλ ₯λλ€.
3. μ½λ
[νμ΄1. scanf()μ λ°νκ°μ μ΄μ©ν νμ΄]
#pragma warning (disable:4996)
#include <stdio.h>
int main(void) {
int a, b;
while (scanf("%d %d", &a, &b) != EOF) {
printf("%d\n", a + b);
}
return 0;
}
[νμ΄2. feof()λ₯Ό μ΄μ©ν νμ΄]
#pragma warning (disable:4996)
#include <stdio.h>
int main(int argc, char* argv[]) {
int a, b;
while (true) {
scanf("%d %d", &a, &b);
if (feof(stdin) != 0)
break;
printf("%d\n", a + b);
}
return 0;
}
'γβ¨οΈα΄sγPS > λ°±μ€_μν&ꡬν' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Baekjoon/λ°±μ€][2475][C/C++] κ²μ¦μ (0) | 2023.01.27 |
---|---|
[Baekjoon/λ°±μ€][10996][C/C++] λ³ μ°κΈ° - 21 (0) | 2023.01.25 |
[Baekjoon/λ°±μ€][5622][C/C++] λ€μ΄μΌ (0) | 2023.01.23 |
[Baekjoon/λ°±μ€][2920][C/C++] μκ³ (0) | 2023.01.21 |
[Baekjoon/λ°±μ€][2292][C/C++] λ²μ§ (0) | 2023.01.20 |