되는대로 살자

[C언어 기출문제&풀이] Z 출력 본문

2009~2014/C/C++

[C언어 기출문제&풀이] Z 출력

malu 2010. 11. 2. 18:16

프로그램 명: zorro
제한시간: 1 초

주어지는 n 을 받아 출력 예 모양으로 Z 를 출력하는 문제이다.

입력

3 이상 20 이하의 자연수가 입력으로 주어진다.

출력

출력 예의 형식으로 출력한다. 불필요한 공백을 출력해서는 안된다.

입출력 예

입력

5

출력

*****
   *
  *
 *
*****

출력 보충

공백이 . 이라면
*****
...*
..*
.*
*****
풀이 : 먼저 첫줄과 마지막 줄은 입력값 만큼의 *를 출력한다. 그리고 입력값-2부터 
0까지 반복하는 i변수를 사용한 반복문을 만든다.
첫줄과 마지막줄을 제외한 n 번째 줄은 i만큼의 공백을 출력한 뒤 *을 출력한다. 
 
소스코드
01#include <stdio.h>
02  
03int main()
04{
05    int n,i,j,m;
06    scanf("%d",&n);
07    for(i=0;i<n;i++)
08        printf("*");
09    printf("\n");
10    for(i=n-2;i>0;i--)
11    {
12        for(j=0;j<i;j++)
13            printf(" ");
14        printf("*");
15        for(m=n-i-1;m==n;m++)
16            printf(" ");
17        printf("\n");
18    }
19    for(i=0;i<n;i++)
20        printf("*");
21}