정올 CODE 547 반복제어문2 - 자가진단7
문제
아래와 같이 출력되는 프로그램을 작성하시오.
출력 예
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
6 7 8 9 10
CODE
#include<stdio.h>
int main(){
int i,j;
for(i=2; i<7; i++){
for(j=0; j<5; j++){
printf("%d ",i+j);
}
printf("\n");
}
}
첫 for문 ( i ) 은 세로 줄 (2 3 4 5 6)을 표현합니다.
for문 안에 for문(중첩 구조)이 나오게 되는데, 이는 가로 줄 ( j ) 을 표현합니다.
INPUT이 없는 OUTPUT이기 때문에, 간단하게 풀 수 있습니다.
i * j의 구조네요. ( 가로 * 세로 , 그렇기 때문에 5 * 5)
시작할 때의 값은, i와 j의 교집합입니다.
첫 출력 값은 따라서, i의 시작 값이 됩니다.
(세로 줄이 5개니까, i도 5번 반복하면 되겠죠? 2부터 시작하는 i는 7까지 하고 종료합니다.
그 이후에는 5번만 반복해주면서 j 값을 증가시켜주고, 동시에 출력할 때 i와 j값을 합해서 출력해줍니다.
이렇게 되면, 5 * 5 구조 완성되었습니다.
제가 쉽게 풀어서 문제
아래와 같이 출력되는 프로그램을 작성하시오.
출력 예
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
6 7 8 9 10
CODE
#include<stdio.h>
int main(){
int i,j;
for(i=2; i<7; i++){
for(j=0; j<5; j++){
printf("%d ",i+j);
}
printf("\n");
}
}
첫 for문 ( i ) 은 세로 줄 (2 3 4 5 6)을 표현합니다.
for문 안에 for문(중첩 구조)이 나오게 되는데, 이는 가로 줄 ( j ) 을 표현합니다.
INPUT이 없는 OUTPUT이기 때문에, 간단하게 풀 수 있습니다.
i * j의 구조네요. ( 가로 * 세로 , 그렇기 때문에 5 * 5)

시작할 때의 값은, i와 j의 교집합입니다.
첫 출력 값은 따라서, i의 시작 값이 됩니다.
(세로 줄이 5개니까, i도 5번 반복하면 되겠죠? 2부터 시작하는 i는 7까지 하고 종료합니다.
그 이후에는 5번만 반복해주면서 j 값을 증가시켜주고, 동시에 출력할 때 i와 j값을 합해서 출력해줍니다.
이렇게 되면, 5 * 5 구조 완성되었습니다.
제가 쉽게 풀어서 작성해보긴 했으나 빼먹은 설명이나 부족한 부분은 댓글로 남겨주세요.
감사합니다.