----
별로 다이아몬드 찍기 ¶
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; }결과는 보여주고 싶었는데 별표를 찍으면 처음에 안습한 모양이 나와서 실패했습니다 ㅠㅠㅠㅠ
직접 해보시는것도 좋을거 같습니다.
2 위에 문제를 해결하고 그것도 식상해졌습니다. 그래서 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은 아래와 같습니다.
라고 하고 싶었지만.. 역시 실패했습니다 ㅠㅠㅠ (올리는데 실패했다는거 뿐입니다.)
output은 아래와 같습니다.
라고 하고 싶었지만.. 역시 실패했습니다 ㅠㅠㅠ (올리는데 실패했다는거 뿐입니다.)
2번문제는 위 첫번째것과 많이 다르지 않습니다. while문 한번더 써서 n값에 도달할때까지 count를 올린것 뿐이지요.
(n값이 홀수에만 반응하도록 해야하는게 좀 짜증나긴 했습니다.)
(n값이 홀수에만 반응하도록 해야하는게 좀 짜증나긴 했습니다.)
3 의견을 받아들여 반대로 나오는 별표를 만들었습니다.
#include <stdio.h> int main () { int i, j; for(i=1; i<=5; i++){ for(j=i; j<=5;j++) printf("*"); for(j=1; j<=2*i-1; j++) printf(" "); for(j=i; j<=5; j++) printf("*"); printf("\n"); } for(i=1; i<=4; i++){ for(j=1; j<=i+1; j++) printf("*"); for(j=2*i-1; j<=7; j++) printf(" "); for(j=1; j<=i+1; j++) printf("*"); printf("\n"); } return 0; } ***** ***** **** **** *** *** ** ** * * ** ** *** *** **** **** ***** *****
4 선만 긋는 다이아몬드도 완성했구요.
#include <stdio.h> int main () { int i, j; for(i=1; i<=5; i++){ for(j=i; j<=5;j++) printf(" "); printf("*"); for(j=1; j<=2*i-1; j++) printf(" "); printf("*"); printf("\n"); } for(i=1; i<=4; i++){ for(j=1; j<=i+1; j++) printf(" "); printf("*"); for(j=2*i-1; j<=7; j++) printf(" "); printf("*"); printf("\n"); } return 0; } * * * * * * * * * * * * * * * * * *
5 다이아몬드 속에 다이아몬드 (N값에따라)
현재 진행상황입니다.1/4은 완성했지만 나머지 반쪽이 제 생각과 다르게 만들어지네요 #include <stdio.h> int main() { int i,j,n; scanf("%d",&n); for(i=1;i<=n;i++){ for(j=i;j<=n;j++) printf("^"); printf("*"); for(j=1;j<=i;j++) { if(j%4==0) printf("*"); else printf("^"); } printf("\n"); } for(i=1;i<=n;i++){ for(j=1;j<=i;j++) printf("^"); printf("*"); for(j=i;j<=n;j++) { if(j%4==0) printf("*"); else printf("^"); } printf("\n"); } return 0; } input :9 output: * * * * * * * * * * * * * * * * * * * * * * * * * * ** * * * * * * * ** *
-- jereneal20 2011-04-25 19:07:31