Jungol Algorithm/Language Coder

정올 CODE 547 반복제어문2 - 자가진단7

치조 2020. 5. 4. 19:34
반응형

문제

아래와 같이 출력되는 프로그램을 작성하시오.

출력 예

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 구조 완성되었습니다.

 

제가 쉽게 풀어서 작성해보긴 했으나 빼먹은 설명이나 부족한 부분은 댓글로 남겨주세요.

감사합니다.

 

 

 

반응형