| Python | C++ | C | |
|---|---|---|---|
| if문 | if 조건1: 코드 elif 조건2: 코드 else: 코드 | if (조건1){ 코드; } else if (조건2){ 코드; } else { 코드; } | if (조건1){ 코드; } else if (조건2){ 코드; } else { 코드; } |
| case문 | - | switch(var){ case con1: 코드; break; case con2: 코드; break; } | switch(var){ case con1: 코드; break; case con2: 코드; break; } |
1 T = int(input())
2
3 answer = 0
4 for _ in range(T):
5 num1, op, num2 = input().split()
6 num1, num2 = int(num1), int(num2)
7 if op == "+":
8 answer += num1 + num2
9 elif op == "-":
10 answer += num1 - num2
11 elif op == "*":
12 answer += num1 * num2
13 elif op == "/":
14 answer += num1 // num2
15
16 print(answer)
1 #include <iostream>
2 #include <string>
3 using namespace std;
4 int main() {
5 int T;
6 cin >> T;
7
8 int answer = 0;
9 int num1, num2;
10 char op[2] = {'+', '\0'}; // 문자열 끝에는 항상 NULL 문자 필요!!
11 for (int i = 0; i < T; i++){
12 cin >> num1 >> op >> num2;
13 if (strcmp(op, "+") == 0)
14 answer += (num1 + num2);
15 else if (strcmp(op, "-") == 0)
16 answer += (num1 - num2);
17 else if (strcmp(op, "*") == 0)
18 answer += (num1 * num2);
19 else
20 answer += (num1 / num2);
21 }
22
23 cout << answer;
24 return 0;
25 }
1 #include <stdio.h>
2 int main() {
3 int T;
4 int num1, num2;
5 char op[2];
6 int i, answer = 0;
7
8 scanf("%d", &T);
9
10 for (i = 0; i < T; i++){
11 scanf("%d %s %d", &num1, op, &num2);
12
13 if (strcmp(op, "+") == 0)
14 answer += num1 + num2;
15 else if (strcmp(op, "-") == 0)
16 answer += num1 - num2;
17 else if (strcmp(op, "*") == 0)
18 answer += num1 * num2;
19 else
20 answer += num1 / num2;
21 }
22 printf("%d", answer);
23 return 0;
24 }

제출 코드와 동일
int num1, num2;
char op;
cin >> num1 >> op >> num2;
여러 줄로 입력되어도 한 번에 받을 수 있다.
char op = '+';
if (op == '+') ans += num1 + num2;
if (op == '-') ans += num1 + num2;
if (op == '*') ans += num1 + num2;
if (op == '/') ans += num1 + num2;

Code
char op;
cin >> op;
if (op == "+")
char 자료형char[2] 자료형 ('a' + '\0')while (T--) {}
후위 연산자 순서
1. while (T) 조건 확인
2. T -= 1
3. while문 내부 코드 실행
C/C++에서 문자열 받기 실패했다.
NULL 문자가 늦게 생각났다. 문자열 다룰 때는 항상 신경쓰기.