배열이 중요하다 보니 배열 문제가 좀 많다. 그래도 어려운 문제가 아니라서 지금까지 비교적 쉽게 풀 수가 있었다.
문제부터 살펴보자:
우선 문제만 보고, 바로 두 가지 배열을 선언해야 한다는 것을 알 수 있다.
int ary1[5];
int ary2[5];
그리고, 두 배열에 각기 다른 input이 들어와야 하므로, 2가지의 for문을 사용해야 한다.
for(int i=0;i<5;i++){
scanf("%d", &ary1[i]);
}
for(int i=0;i<5;i++){
scanf("%d", &ary2[i]);
}
다음으로, 두 배열을 비교하기 위해서는 for문 안의 if문을 활용하면 될 것 같다:
if(ary1[i]==ary2[i])
우선, 생각나는 것들을 토대로 아래와 같이 필기를 했다.
그럼, 최종 코드를 보도록 하자:
int main(void)
{
int ary1[5],ary2[5];
for(int i=0;i<5;i++){
scanf("%d", &ary1[i]);
}
for(int i=0;i<5;i++){
scanf("%d", &ary2[i]);
}
for(int i=0;i<5;i++){
if(ary1[i]==ary2[i]){
continue;
}
else{
printf("not same");
goto loop;
}
}
printf("same");
loop:
return 0;
}
마지막 else문을 빠져 나오기 위해서 goto loop이 아닌 break문을 애초에 썼었는데, 이렇게 하니까 원하는 출력 결과가 나오지 않았다.
그래서 지나가듯이 배운 goto 문을 사용했는데, 출력물이 원하는대로 나와 꽤 놀랐다. goto loop이라는 코드를 씀으로 밑의 printf("same"); 을 자연스럽게 지나치게 되고, 바로 return 0;로 갈 수 있게 되었다.