ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 난수의 합 (포인터)
    코딩/C언어 2019. 4. 1. 16:29
    반응형
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    #include <stdio.h>
    #include <stdlib.h>
    void generateData();
    void printData();
    int totalData();
    int data[10]; // 계산 수행에 사용할 전역 변수
     
    int main(void)
    {
        srand(200); // random 값 출력에 사용하는 함수. Seed 값을 부여
        generateData();
        printf("발생된 10개의 난수:\n");
        printData();
        printf("10개 난수의 합 = %d \n", totalData());
    }
     
    // generateData 함수는 data[0]..data[9]에 난수를 넣는다.
    void generateData()
    {
        int k;
        int *p;
        p = data; //혹은 p = &data[0]
     
        for (k = 0; k < 10; k++// Index 0..9까지 난수값 부여
            p[k] = rand() % 100;  //*p++ == rand() % 100;
    }
     
    // printData 함수는 data[0]..data[9]의 값을 출력한다.
    void printData()
    {
        int *pi = data;
        int i;
     
        for (i = 0; i < 10; i++)
            printf("%d  ", pi[i]); // printf("%d ", *pi++);
     
        printf("\n");
    }
     
    // totalData 함수는 data[0]에서 data[9]까지의 값을 모두 더해 그 결과를 반환한다.
    int totalData()
    {
        int *pi = data, sum = 0;
        int i;
        for (i = 0; i < 10; i++)
            sum += pi[i]; // sum += *pi[i];
     
        return sum;
    }
    cs

     

     

     

    결과:

     

    반응형

    '코딩 > C언어' 카테고리의 다른 글

    문자열 복사(포인터)  (0) 2019.04.04
    난수의 합(포인터, 배열)  (0) 2019.04.01
    포인터 연습4(배열)  (0) 2019.03.21
    포인터 연습3  (0) 2019.03.21
    포인터 연습2  (0) 2019.03.21
Designed by Tistory.