c·c++/c 프로그래밍

숫자 마름모

바로이순간 2014. 4. 2. 13:47

#include <stdio.h>

int main() {

    int i, j, n=4;


    printf("n= ");   // 9까지 입력

    scanf("%d", &n);

    for(i=0;i<n;i+=1) {

        for(j=1;j<n-i;j+=1) {

            printf(" ");

        }

        for(j=0;j<i+i+1;j+=1) {

            printf("%d",n-i+j);

        }

        printf("\n");

    }

    for(i=n-2;i>=0;i-=1) {

        for(j=1;j<n-i;j+=1) {

            printf(" ");

        }

        for(j=0;j<i+i+1;j+=1) {

            printf("%d",n-i+j);

        }

        printf("\n");

    }


    return 0;

}


=======================================================


#include <iostream>

using namespace std;

int main() {

    int i, j, n=4;


    cout<<"n= ";

    cin>>n;

    for(i=0;i<n+n-1;i+=1) {

        for(j=0;j<n+n-1;j+=1) {

            if(n<i+j+2 && i+j+2<3*n && j<i+n && i<n+j)

                cout<<j+1;

            else cout<<" ";

        }

        cout<<endl;

    }


    return 0;

}


======================================================

지그재그 출력


#include <stdio.h>

int main() {

    int i, j, k=0, x, n;


    printf("입력: ");

    scanf("%d",&n);

    // k는 각줄이 시작하는 숫자이다.

    // 줄이 시작할 때 n을 k에 더해준다.

    // 처음에는 0부터 시작해야 하므로 

    // -n을 k에 대입한다.

    k=-n;

    // n줄을 출력해 준다.

    for(i=0;i<n;i+=1) {

        // 시작하는 값 k에 n을 더해준다.

        k+=n;

        // x는 1또는 -1이다. i가 홀수일 경우는 -1 짝수일 경우는 1이다.

        // i가 짝수일 때 출력하는 수는 1씩 증가하고

        // i가 홀수일 때 출력하는 수는 1씩 감소한다.

        x=1-2*(i%2);

        // n개의 수를 출력해준다.

        for(j=0;j<n;j+=1) {

            // x를 k에 더해준다. (1씩 증가하든지 1씩 감소하게 된다.)

            k+=x;

            // k를 출력해 준다.

            printf("%2d ", k);

        }

        // 끝나고 나서 한번더 x를 k에 더해준다.

        // 이렇게 해야 다음줄에서 k값이 제대로 맞추어진다.

        k+=x;

        // 줄바꿈을 출력해 준다.

        printf("\n");

    }


    return 0; 

}


==========================================================

숫자 모래시계


#include <stdio.h>

int main() {

    int i, j, n;


    //printf("n=");

    //scanf("%d", &n);

    n=5;

    for(i=0;i<n-1;i+=1) {

        for(j=0;j<i;j+=1) printf(" ");

        for(j=0;j<n-i;j+=1) { 

            printf("%d", i+j+1);

        }

        for(j=1;j<n-i;j+=1) { 

            printf("%d", n-j);

        }

        printf("\n");

    }

    for(i=n-1;i>=0;i-=1) {

        for(j=0;j<i;j+=1) printf(" ");

        for(j=0;j<n-i;j+=1) { 

            printf("%d", i+j+1);

        }

        for(j=1;j<n-i;j+=1) { 

            printf("%d", n-j);

        }

        printf("\n");

    }

    return 0;

}