ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Layer7_20160323수업
    예제/Layer7_20160323 2016. 3. 24. 22:50
    반응형

    <1> k번째 숫자가 무엇이었는지 출력한다.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include <stdio.h>
     
    int main(){
        int k, arr[10]={10987654321};
        scanf("%d", &k);
     
        printf("%d", arr[k-1]);
        return 0;
    }
    cs

    입력 : 3

    출력 : 8


    <2> k가 몇 번째에 있는지 출력한다. 단, 없으면 -1을 출력한다.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include <stdio.h>
     
    int main() {
        int k, arr[10= { 10987654321 };
        scanf("%d", &k);
        if(k<1||k>10){
            printf("-1");
            return 0;
        }
        printf("%d", arr[k - 1]);
        return 0;
    }
    cs

    입력 : 7

    출력 : 4


    <3> 피보나치 수열을 출력한다.

    #include <stdio.h>
    int main() {
    int arr[21], i;
    arr[0] = 0;
    arr[1] = 1;
    for (i = 2; i <= 20; ++i){
    arr[i] = arr[i - 2] + arr[i - 1];
    }
    for (i = 1; i <= 20; ++i){
    printf("%d ", arr[i]);
    }
    }

    출력 : 1 1 2 3 5 8 13 ... 6765


    <4> 배열 입력 받고 역순 출력

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #include <stdio.h>
     
    //첫 번째 방법 : printf를 거꾸로
     
     
    int main(){
        int arr[10], i;
     
        for(i=0; i<5++i){
            scanf("%d", &arr[i]);
        }
     
        for(i=4; i>=0--i){
            printf("%d ", arr[i]);
        }
    }
     
    cs
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    #include <stdio.h>
     
    //두 번째 방법 : 역정렬
     
     
    int main(){
        int arr[10], i;
     
        for(i=0; i<5++i){
            scanf("%d", &arr[i]);
        }
        for(i=4; i>=0--i){
            arr[5+i]=arr[(4-i)];
        }
        for (i = 5; i<10++i) {
            printf("%d ", arr[i]);
        }
    }
     
    cs

    입력 : 1 3 5 9 4

    출력 : 4 9 5 3 1


    <5> 입력 받은 문자열의 공백을 제거한 후 출력. 단, 문자열의 길이는 100글자 이하.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    #include <stdio.h>
     
    //첫 번째 방법
     
     
    int main(){
        int i, j;
        char arr[100];
     
        gets(arr);
        
        for (i = 0; i < 100++i){
            if(arr[i]==' '){
     
                for (j = i; j < 100++j){
                    arr[j] = arr[j + 1];
                }
                i--;
            }
        }
        printf("%s", arr);
        return 0;
    }
    cs
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    #include <stdio.h>
     
    //두 번째 방법
     
     
    int main(){
        char arr[100];
        int i;
     
        gets(arr);
     
        for (i = 0; i < 100++i){
            if (arr[i] == '\0')
                return 0;
            else if (arr[i] == ' ')
                continue;
            else
                printf("%c", arr[i]);
        }
    }
    cs


    입력 : abC Def gh

    출력 : abCDefgh


    <6> 왼쪽으로 숫자 로테이션

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    #include <stdio.h>
     
    int main(){
        int arr[10], i, input, virt, j, k;
     
        scanf("%d", &input);
        for (i = 1; i <= input; ++i){
            arr[i-1= i;
        }
        for (k = 0; k < input; ++k) {
            for (i = 0; i < input; ++i) {
     
                for (i = 0; i < input; ++i) {
                    printf("%d ", arr[i]);
                }
                virt = arr[0];
                for (j = 0; j < input - 1++j) {
     
                    arr[j] = arr[j + 1];
     
                }
                arr[input - 1= virt;
                printf("\n");
            }
        }
    }
    cs

    입력 : 5
           1 2 3 4 5
    출력 : 
    1 2 3 4 5
    2 3 4 5 1
    3 4 5 1 2
    4 5 1 2 3
    5 1 2 3 4


    <7> 입력된 문장에서 각각의 알파벳의 개수는?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    #include <stdio.h>
    #include <string.h>
     
    int main(){
        char sentence[100], k;
        int i, j, count[26]={0,};
        gets(sentence);
     
        for(i=0; i<strlen(sentence); ++i){
            for(k='a'; k<='z'++k){
                if(sentence[i]==k){
                    j=k-97;
                    count[j]++;
                }
            }
        }
        for(i=0; i<26++i){
            printf("%c:%d\n", i+97, count[i]);
        }
        return 0;
    }
     
    cs


    입력 : oh! my god! (100글자 이내로)

    출력 : 

    a:0

    b:0

    c:0

    d:1

    e:0

    f:0

    g:1

    h:1

    i:0

    j:0

    k:0

    l:0

    m:1

    n:0

    o:2

    p:0

    q:0

    r:0

    s:0

    t:0

    u:0

    v:0

    w:0

    x:0

    y:1

    z:0





    반응형

    댓글

Designed by Tistory.