2009~2014/C/C++
[C언어 기출문제&풀이] 모래 시계 출력
malu
2010. 11. 2. 18:33
프로그램 명: sclock
제한시간: 1 초
홀수를 입력으로 받아 출력예의 형식으로 모래시계를 출력하려고 한다.
입력
주어지는 수는 3 이상 40 이하의 홀수이다.출력
입출력 예
입력 5 출력 ****$ **$ $ $** $**** 입력 7 출력 ******$ ****$ **$ $ $** $**** $******
풀이 : 중간 줄 까지는i를 입력값-1부터 0까지 한번에 2씩 감소하는반복문을 만들고 각 줄마다 이 i
값 만큼 *을 출력시킨 다음 $를 출력시킨다. 다음 줄 부터는 앞의 방식을 활용하였다.
소스코드
01 | #include <stdio.h> |
02 | |
03 | int main() |
04 | { |
05 | int n,i,j,count1,count2,temp=0; |
06 | scanf ( "%d" ,&n); |
07 | count1=0; |
08 | count2=n-1; |
09 | for (j=0;j<n;j++) |
10 | { |
11 | for (i=0;i<count1;i++) //count1=빈칸 count2=별수 |
12 | printf ( " " ); |
13 | if (temp==1) |
14 | printf ( "$" ); |
15 | for (i=0;i<count2;i++) |
16 | printf ( "*" ); |
17 | if (count2==0) |
18 | { |
19 | printf ( "$" ); |
20 | temp++; |
21 | } |
22 | if (temp==0) |
23 | printf ( "$" ); |
24 | if (temp==1) |
25 | { |
26 | count2+=2; |
27 | count1--; |
28 | } |
29 | else |
30 | { |
31 | count2-=2; |
32 | count1++; |
33 | } |
34 | printf ( "\n" ); |
35 | } |
36 | } |
37 | |
38 | |