공학설계프로그래밍_실습문제(1)

2024. 9. 12. 10:32공학설계프로그래밍

<문제설명>

(1) 1~9 사이의 정수 값을 하나 입력 받는다.(scanf사용)

 

(2) 입력 받은 수를 삼각형 모양으로 출력한다 (출력 줄 수 = 입력 받은 수)

 

(ex) 입력 받은수 = 3                                          입력 받은 수 = 5

                              3                                                                  5

                            33                                                                55

                          333                                                              555

                                                                                            5555

                                                                                          55555

 

 

(3) 입력 받은 수가 x라고 할 때, "display_x.txt"라는 이름의 파일을 생성한다

(ex) 입력 받은 수  = 1 ->  display_1.txt,    입력 받은 수 = 9 -> display_9.txt

 

(4) (3)에서 생성한 파일에 (2)와 동일한 형태로 숫자를 출력한 후 저장한다.

 

 

 

<문제풀이>

 

먼저 숫자를 삼각형 모양으로 출력하는 방법부터 알아보겠다.

 

 

 

만약 4라는 숫자를 입력받았으면, 4x4칸을 만들어서 위에 그림처럼 동그라미 친 부분만 숫자로 채우면 된다.

 

i와 j의 관계를 유심히 살펴보고 알맞은 조건문을 만든다면 쉽게 삼각형 모양으로 출력할 수 있다.

 

위의 그림에선 i와 j의 합이 3이상이여야 동그라미 친 부분에 숫자를 출력할 수 있다. 그러면 (i+j >= num-1)이라는 조건안에서 알맞은 동작을 할 것이다.

 

 

파일의 이름은 file_name이라는 배열에 sprintf를 사용하여 저장하였다. 그 다음 파일을 "w"로 연 다음에("w"는 사전에 미리 생성을 하지 않아도 자동으로 생성해준다.), 위에서 만들었던 삼각형을 fprintf를 이용하여 파일에 출력해준다.