실습 문제로 받았던 문제를 몇 개 올리고자 한다.
이번에는 C언어의 배열과 관련된 내용을 배웠다. 기본적인 선언 방법부터, 응용 문제를 몇 개 풀어봤다. 배열을 사용하기 전에는 항상 int a=0; 이런 식으로만 문제를 풀어서 사용하기가 어색했지만, 문제를 몇 개 풀어보니 조금 적응한 것 같다.
우선 문제부터 보자:
대강 보아하니, 0이 입력되기 전까지 입력되는 숫자들을 차례대로 배열에 넣으면 될 것 같다.
scanf("%d", &num);
그리고, 배열에 숫자를 넣을 때마다 count라는 변수를 하나씩 증감 시키면 될 것 같았다.
count++;
입력된 숫자를 입력된 순서의 역순으로 출력하기 위해서는 for문을 적절히 사용하면 될 것 같다. 다만, 증감 연산자는 i++ 말고 i-- 을 쓰면 될 것 같다는 생각이 든다.
for(int j=i;j>0;j--)
이런식으로 말이다.
이런 생각을 토대로, 아래와 같이 필기를 조금 해봤다.
그럼 최종 코드를 보자:
#include <stdio.h>
int main(void)
{
int ary[100];
int count=0;
int i=0;
int num;
while(1){
scanf("%d", &num);
if(num==0){
printf("%d\n", count);
for(int j=i;j>0;j--){
printf("%d ", ary[j-1]);
}
break;
}
else{
ary[i]=num;
i++;
count++;
}
}
return 0;
}