<오답>
#include<stdio.h>
int main(void)
{
int A[10], B[10];
int i=0, T;
scanf("%d", &T);
for (i = 0; i < T; i++)
{
scanf("%d %d", &A[i], &B[i]);
}
for (i = 0; i < T; i++)
{
printf("%d\n", A[i] + B[i]);
}
return 0;
}
처음 런타임 에러가 발생했던 풀이인데, 배열의 길이 값 때문에 에러가 났을 것이라 생각하고 밑의 코드를 새로 작성해 보았다.
<정답>
#include<stdio.h>
int main(void)
{
int i=0, T;
scanf("%d",&T);
int A[T], B[T];
for (i = 0; i < T; i++)
{
scanf("%d %d", &A[i], &B[i]);
}
for (i = 0; i < T; i++)
{
printf("%d\n", A[i] + B[i]);
}
return 0;
}
배열의 길이를 입력받은 T로 정해줬다. 아까 처음에 길이 값을 10으로 정해줬었는데, 이는 T의 수가 몇인지 알 수 없는 것이었기 때문에 런타임 에러가 발생할 수밖에 없었다.
<정답 2>
#include<stdio.h>
int main(void)
{
int A, B;
int T;
scanf("%d", &T);
for (int i = 0;i<T;i++)
{
scanf("%d %d", &A, &B);
printf("%d\n", A + B);
}
return 0;
}
사실 가장 먼저 작성한 풀이이다. 문제의 결과 출력에는 결괏값만 딱 나와있어서 다르게 나와 오답이라 할 것을 고려해
다른 풀이로 풀었지만 정답이다.