<문제 1>
문제를 좀 잘못 읽고 푼 풀이인데, 출력의 결과로 2단 3단 4단이 나온다.
#include<stdio.h>
int main(void)
{
int arr[3][9] = {
{2,4,6,8,10,12,14,16,18},
{3,6,9,12,15,18,21,24,27},
{4,8,12,16,20,24,28,32,36}
};
int i, j;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 9; j++)
{
printf(" %d x %d = %d \n", i + 2, j + 1, arr[i][j]);
}
printf("\n");
}
return 0;
}
<문제 1 정확한? 풀이>
#include<stdio.h>
int main(void)
{
int arr[3][9];
int i, j;
for(i = 0;i<3;i++)
for (j = 0; j < 9; j++)
{
arr[i][j] = (i + 2) * (j + 1);
}
for (i = 0; i < 3; i++)
{
for (j = 0; j < 9; j++)
printf("%4d", arr[i][j]);
printf("\n");
}
return 0;
}
%4d를 왜 써줄까 생각했는데, 4칸씩 출력한다라는 의미이고, 문제 1 예시 그림에 나온 것과 비슷하게 출력을 할 수 있어서 % 4d를 사용해 준 것 같다. 솔직히 여러 수를 출력하다 보니 칸을 구별 해주지 않으면 상당히 알아보기가 힘들다.
%2d를 사용해주면 2자리 숫자인 수가 있어서, 깔끔하지 않다.