More actions
김태진
별찍기
위키좀 써보고자 잉여로운 시간에 짰던, C시간에 배운것보다 초큼 더 어려운 별찍기를 올립니다. .. 전 누구분과 같은 엄청난 노가다의 산물은 도전하기 꺼려지더라구요;;
별로 다이아몬드 찍기
- 그냥 다이아몬드는 식상했습니다. 그래서 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;
}
결과는 보여주고 싶었는데 별표를 찍으면 처음에 안습한 모양이 나와서 실패했습니다 ㅠㅠㅠㅠ 직접 해보시는것도 좋을거 같습니다.
- 위에 문제를 해결하고 그것도 식상해졌습니다. 그래서 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] [[DateTime(2011-04-25T19:07:31)]]
자 그럼, 다음에는 어떤걸 만드는게 좋을까요? 의견달아주세요:D
***** *****
**** ****
** **
* *
** **
*** ***
**** ****
***** *****
* *
** **
*** ***
**** ****
***** *****
**** ****
** **
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
이거요 ㅇㅁㅇ 예전 새싹 퀴즈였지만ㅎㅎ; -강소현