U E D R , A S I H C RSS

김태진/별찍기 (rev. 1.8)

김태진/별찍기

----

별찍기

위키좀 써보고자 잉여로운 시간에 짰던, C시간에 배운것보다 초큼 더 어려운 별찍기를 올립니다.
.. 전 누구분과 같은 엄청난 노가다의 산물은 도전하기 꺼려지더라구요;;

별로 다이아몬드 찍기

  1. 그냥 다이아몬드는 식상했습니다. 그래서 n값을 사용자에게 받아와 그만한 크기의 다이아몬드를 찍는걸 짰습니다.

#include <stdio.h>

int main ()
{
    int i,j,n;
    scanf("%d",&n);
    n=n/2+1;
    for(i=1; i<=n; i++){
        for(j=i; j<=n; j++) printf("  ");
        for(j=1; j<=2*i-1; j++) printf("* ");
        printf("\n");// 다이아몬드 윗부분.
    }
    for(i=1; i<=n; i++){
        for(j=1; j<=i+1; j++) printf("  ");
        for(j=2*i-1; j<=2*n-3; j++) printf("* ");
        printf("\n");
    }
    

    return 0;
}
결과는 보여주고 싶었는데 별표를 찍으면 처음에 안습한 모양이 나와서 실패했습니다 ㅠㅠㅠㅠ
직접 해보시는것도 좋을거 같습니다.


  1. 위에 문제를 해결하고 그것도 식상해졌습니다. 그래서 n값을 받아서 거기까지의 모든 다이아몬드를 찍어내는걸 짰습니다.
.. 그러니까, 9를 하면 3 5 7 9일때의 다이아몬드를 모드 뱉어내는 겁니다.


#include <stdio.h>

int main ()
{
    int i,j,n,count; 
    scanf("%d",&count);
    n=1;

    while(n<count){
        

        if(n%2==0) {n++; continue;}
        n=n/2+2;
        for(i=1; i<=n; i++){
            for(j=i; j<=n; j++) printf("  ");
            for(j=1; j<=2*i-1; j++) printf("* ");
            printf("\n");// 다이아몬드 윗부분.
        }
        for(i=1; i<=n; i++){
            for(j=1; j<=i+1; j++) printf("  ");
            for(j=2*i-1; j<=2*n-3; j++) printf("* ");
            printf("\n");
        }
        n=(n-1)*2;
        n++;
    }
    
    return 0;
}
input을 7 로 하면
output은 아래와 같습니다.
라고 하고 싶었지만.. 역시 실패했습니다 ㅠㅠㅠ (올리는데 실패했다는거 뿐입니다.)

2번문제는 위 첫번째것과 많이 다르지 않습니다. while문 한번더 써서 n값에 도달할때까지 count를 올린것 뿐이지요.
(n값이 홀수에만 반응하도록 해야하는게 좀 짜증나긴 했습니다.)

-- jereneal20 2011-04-25 19:07:31

자 그럼, 다음에는 어떤걸 만드는게 좋을까요? 의견달아주세요:D

{
***** *****
**** ****
** **
* *
** **
*** ***
**** ****
***** *****
}
{{
* *
** **
*** ***
**** ****
***** *****
**** ****
** **
* *
}}
{{
  • *
  • *
  • *
  • *
  • *
    • *
      • *
        • *
          • *
}}
이거요 ㅇㅁㅇ 예전 새싹 퀴즈였지만ㅎㅎ; -강소현
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:28:50
Processing time 0.0245 sec