사용자 도구

사이트 도구


jungol:problem_1523

정올 알고리즘

문제 번호: 1523 링크: http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=795&sca=20

소스 코드

#include <stdio.h>
 
void printf_type1(int size);
void printf_type2(int size);
void printf_type3(int size);
 
int main(int argc, char* argv[]) {
 
    int n = 0;
    int m = 0;
 
    scanf("%d %d", &n, &m);
 
    if (n > 100 || (m < 1 || m > 3)) {
        printf("INPUT ERROR!\n");
        return 0;
    }
 
    switch(m) {
        case 1:
            printf_type1(n);
            break;
        case 2:
            printf_type2(n);
            break;
        case 3:
        default:
            printf_type3(n);
    }
 
    // printf("argc=%d, argv=%s\n", argc, argv[0]);
    return 0;
}
 
void printf_type1(int size) {
 
    int i = 0;
    int j = 0;
    for (i = 0; i < size; i++) {
       for (j = (size - 1) - i; j < size; j++) {
           printf("*");
       }
       printf("\n");
    }
}
 
void printf_type2(int size) {
 
    int i = 0;
    int j = 0;
    for (i = 0; i < size; i++) {
        for (j = 0; j < (size - i); j++) {
            printf("*");
        }
        printf("\n");
    }
}
 
void printf_type3(int size) {
 
    int i = 0;
    int j = 0;
    int star = 1;
    for (i = 0; i < size; i++) {
        for (j = i; j < (size - 1); j++) {
            printf(" ");
        }
        for (j = 0; j < star; j++) {
            printf("*");
        }
        printf("\n");
 
        star = star + 2;
    }
}

type 3 번 별 모양을 그리는 방법을 생각하면서, 시간을 많이 쓴 것 같다.

jungol/problem_1523.txt · 마지막으로 수정됨: 2017/03/05 18:28 저자 lindol