Prosto

if문과 for문이 사용된 문제들 -5 -C언어 본문

Programing/C Programing

if문과 for문이 사용된 문제들 -5 -C언어

Prosto 2016. 9. 26. 12:35
if문과 for문에 대한 이해가 부족하면 아래의 글을 먼저 봐주세요.

 

if문(조건문) 이해, 예제 -C언어

 

for문(반복문) 이해, 예제 -C언어


프로그래밍을 하여 프로그램을 만들 때

빠지지 않는, 가장 중요한 if문과 for문에 대하여 제대로 익히기 위해

if문(조건문)과 for문(반복문) 문제(예제)들을 풀어보도록 합시다.

 

 

저번 시간과 마찬가지로 진행됩니다!

이번 시간의 문제는 총 3개입니다. ( 수열 문제 -1 )

 각 문제에 대한 출력 결과 예시와 힌트

 그리고 완성된 소스와 그에 대한 설명이 함께 제공될 겁니다.

 

 

자 그럼 시작해볼까요?


 

문제 1.

 입력받은 개수 따라 '출력 결과 예'와 같은 수열을 출력하는 프로그램을 만드시오.

 

(출력 결과 예1 : 5입력)

 

(출력 결과 예2 : 10입력)

 

 

 

 

 

 

 

 

 

 

문제 2.

 입력받은 개수 따라 '출력 결과 예'와 같은 수열을 출력하는 프로그램을 만드시오.

 

(출력 결과 예1 : 6입력)

 

(출력 결과 예2 : 15입력)

 

 

 

 

 

 

 

 

 

문제 3.

 입력받은 개수 따라 '출력 결과 예'와 같은 수열을 출력하는 프로그램을 만드시오.

 

(출력 결과 예1 : 5입력)

 

(출력 결과 예2 : 12입력)

 

 

 

 

 

 

 

 

 

 

 

 

 

완성 소스와 설명

(소스는 스크린샷입니다. [소스가 화면에 안 들어올 정도로 길다면 따로 올려드리고요.] )

 


 문제 1.

4번 라인에서 수열의 개수를 입력받을 num 변수를 선언했습니다.

5번 라인에서 현재 출력될 수열을 저장하고 있을 printValue 변수를 선언하고 0으로 초기화했습니다.


11번 라인에서 for문을 이용하여 0부터 입력받은 수(num) 전까지 반복합니다.

 (반복은 for(;;){  }로 중괄호 내부의 내용을 실행합니다.)


  (12번 라인부터 13번 라인까지는 11번 라인의 for문의 조건이 맞을 때까지 반복됩니다.)

  (0부터 num 전까지 1씩 증가)

12번 라인에서 printValue의 값을 (i*2)+1로 변경해줍니다.

 (i가 반복될 때마다 1씩 증가하니. 결과적으로 printValue는 (i++)반복마다 2씩 증가되겠죠?)

13번 라인에서 printf로 바꿔준 printValue의 값을 출력해줍니다.

 

15번 라인에서 11번 라인의 for문이 끝나면 printf로 줄을 바꿔줍니다.

 

 

 

 


 문제 2.

4번 라인에서 수열의 개수를 입력받을 num 변수를 선언했습니다.

5번 라인에서 현재 출력될 수열을 저장하고 있을 printValue 변수를 선언하고 0으로 초기화했습니다.


11번 라인에서 for문을 이용하여 1부터 입력받은 수(num)까지 반복합니다.

 (반복은 for(;;){  }로 중괄호 내부의 내용을 실행합니다.)


  (12번 라인부터 13번 라인까지는 11번 라인의 for문의 조건이 맞을 때까지 반복됩니다.)

  (1부터 num까지 1씩 증가)

12번 라인에서 printValue의 값을 printValue = printValue+i;로 변경해줍니다.

 (i가 반복될 때마다 i만큼 증가하니 처음에는 1, 다음은 1+2=3, 그 다음은 3+3=6, 6+4=10, ... 이렇게 되겠죠?)

13번 라인에서 printf로 바꿔준 printValue의 값을 출력해줍니다.

 

15번 라인에서 11번 라인의 for문이 끝나면 printf로 줄을 바꿔줍니다.

 

 

 

 

 

 문제 3.

4번 라인에서 수열의 개수를 입력받을 num 변수를 선언했습니다.

5번 라인에서 현재 출력될 수열을 저장하고 있을 printValue 변수를 선언했습니다.

(..11라인 1 초기화 생략..)

 

12번 라인에서 for문을 이용하여 1부터 입력받은 수(num)까지 반복합니다.

 (반복은 for(;;){  }로 중괄호 내부의 내용을 실행합니다.)

 

 

  (13번 라인부터 14번 라인까지는 12번 라인의 for문의 조건이 맞을 때까지 반복됩니다.)

  (1부터 num까지 1씩 증가)

13번 라인에서 printValue의 값을 printValue = printValue*2;로 변경해줍니다.

 (i가 반복될 때마다 2배로 증가하니 처음에 1*2=2, 다음은 2*2=4, 그 다음은 4*2=8, 16*2=32, ... 이렇게 되겠죠?)

14번 라인에서 printf로 바꿔준 printValue의 값을 출력해줍니다.

 

16번 라인에서 12번 라인의 for문이 끝나면 printf로 줄을 바꿔줍니다.

 

 

 

 

 

 

 


 이번 시간에는 수열과 관련된 예제(문제)들을 풀어봤습니다.

 프로그래밍을 할 때 어떠한 규칙으로 만들면 좋을지를 생각해볼 때가 많습니다.

 수열은 이러한 생각에 도움을 주니 풀어보면 좋겠죠?

 그리고 이번에는 if문이 아닌 반복문(for)에 대한 문제들이었습니다.

 (반복문 사용에 for, while, do while 어떤 것을 사용했든 다 좋습니다.)

 

if문과 for문이 사용된 문제들 다섯 번째 글이었습니다.

다음 글에서 또 다양한 문제들을 올리도록 하겠습니다.

 (*다음 글에서수열에 관련된 두 번째 문제들을 만나볼 수 있을 겁니다.)

 

 

궁금한 점 있으시면 댓글이나 따로 메일로 질문하시면 시간되는 대로 답변드리겠습니다. ( 연락 )

 

 

 

 

 

 

Comments