메뉴 건너뛰기

아시아평생교육원

자료실

동영상URL

 

************************************************************************

#include <stdio.h>

#include <conio.h>

 

int main(void)

{

    printf("Hello World\n")

    

    return 0;

getch();

}

 

 

************************************************************************

#include <stdio.h>

 

int main(void)

{

    printf("Hello World\n");

 

    return 0;

}

 

 

************************************************************************

#include <stdio.h>

#include <stdlib.h>

 

int main(int argc, char *argv[])

{

  printf("Hello World\n"); 

  system("PAUSE");

  return 0;

}

 

 

 

************************************************************************

/* Ex02_01.c */

#include <stdio.h>

 

int main(void)

{

    printf("Hello World\n");

    

    return 0;

}

 

 

************************************************************************

/* Ex02_02.c */

#include <stdio.h>

 

int main(void)

{

float num;

int i_part;

float f_part;

 

printf("실수를 입력하세요 : ");

scanf("%f", &num);

 

i_part = num;

f_part = num - i_part;

 

printf("%f의 정수부는 %d이고, 실수부는 %f입니다.\n", 

        num, i_part, f_part);

 

return 0;

}

 

 

************************************************************************

/* Ex02_03.c */

#include <stdio.h>

 

int main(void)

{

int a, b, c;

 

printf("두 개의 정수를 입력하세요 : ");

scanf("%d %d", &a, &b);

    c = a + b;

printf("%d + %d = %d\n", a, b, c);

 

return 0;

}

 

 

************************************************************************

/* Ex03_01.c */

#include <stdio.h>

 

int main(void)

{

    int amount;

    int price = 1000;

 

    printf("수량 : %d, 가격 : %d\n", amount, price);

    amount = 100;

    price = 2000;

    printf("수량 : %d, 가격 : %d\n", amount, price);

 

    return 0;

}

 

 

 

************************************************************************

/* Ex03_02.c */

#include <stdio.h>

 

int main(void)

{

    char grade = '\x41';

    int data = 0x7b;

    unsigned int age = 75U;

    long fileSize = 1234567L;

    double area = 123.25;

    double taxRate = 25e-2;

    float temperature = 17.5F;

 

    printf("grade = %c\n", grade);

    printf("data = %d, %o, %x\n", data, data, data);

    printf("age = %u\n", age);

    printf("fileSize = %d\n", fileSize);

    printf("area = %f, %e, %g\n", area, area, area);

    printf("taxRate = %f\n", taxRate);

    printf("temperature = %f\n", temperature);

 

    return 0;

}   

 

 

************************************************************************

/* Ex03_03.c */

#include <stdio.h>

 

#define MAX 100

 

int main(void)

{

    int num1 = MAX;

    int num2 = MAX - 1;

    int num3 = -MAX;

 

    printf("num1 = %d\n", num1);

    printf("num2 = %d\n", num2);

    printf("num3 = %d\n", num3);

    printf("MAX = %d\n", MAX);

 

    return 0;

}

 

 

 

************************************************************************

/* Ex03_04.c */

#include <stdio.h>

 

int main(void)

{

    const double pi = 3.14;

    const int max;

 

    printf("pi = %f\n", pi);

    printf("max = %d\n", max);

 

    //pi = 3.1415;

    //max = 100;

 

    return 0;

}

 

 

 

************************************************************************

/* Ex03_05.c */

 

#include <stdio.h>

 

int main()

{

    char ch;

 

    scanf("%c", &ch);

    printf("%c 문자의 ASCII 코드 : %d (%x)\n", ch, ch, ch);

 

    return 0;

}

 

 

************************************************************************

/* Ex03_06.c */

#include <stdio.h>

 

int main(void)

{

    short num1 = -10;

    unsigned short num2 = num1;

 

    printf("부호 있는 정수 : %d\n", num1);

    printf("부호 없는 정수 : %d\n", num2);

 

    return 0;

}

 

 

************************************************************************

/* Ex03_07.c */

#include <stdio.h>

 

int main(void)

{

    short num1 = 32767;

    short num2 = -32768;

    unsigned short num3 = 65535; 

    unsigned short num4 = 0;     

 

    num1 = num1 + 1;

    num2 = num2 - 1;

    num3 = num3 + 1;

    num4 = num4 - 1;

 

    printf("num1 = %d\n", num1);

    printf("num2 = %d\n", num2);

    printf("num3 = %d\n", num3);

    printf("num4 = %d\n", num4);

 

    return 0;

}

 

 

************************************************************************

/* Ex03_08.c */

#include <stdio.h>

#include <limits.h>

 

int main(void)

{

    short num1 = SHRT_MAX; // SHRT_MAX는 short 형의 최대값

    short num2 = SHRT_MIN; // SHRT_MIN는 short 형의 최소값

    unsigned short num3 = USHRT_MAX;   // USHRT_MAX는 unsigned short 형의 최대값

    unsigned short num4 = 0;

 

    num1 = num1 + 1;

    num2 = num2 - 1;

    num3 = num3 + 1;

    num4 = num4 - 1;

 

    printf("num1 = %d\n", num1);

    printf("num2 = %d\n", num2);

    printf("num3 = %d\n", num3);

    printf("num4 = %d\n", num4);

 

    return 0;

}

 

 

************************************************************************

/* Ex03_09.c */

#include <stdio.h>

 

int main(void)

{

    float   pi1 = 3.141592653589793;

    double  pi2 = 3.141592653589793;

 

    printf("float  형의 pi 값 : %f\n", pi1);

    printf("double 형의 pi 값 : %f\n", pi2);

 

    printf("float  형의 pi 값 : %30.25f\n", pi1);

    printf("double 형의 pi 값 : %30.25f\n", pi2);

 

    return 0;

}

 

 

 

************************************************************************

/* Ex03_10.c */

#include <stdio.h>

 

int main(void)

{

    float num1 = 3.5e39;    // float 형으로 표현할 수 없는 아주 큰 값

    float num2 = 1.8e-39;   // float 형으로 표현할 수 없는 아주 작은 값

 

    printf("num1 = %30.25f\n", num1);

    printf("num2 = %30.25f\n", num2);

 

    return 0;

}

 

 

************************************************************************

/* Ex03_11.c */

#include <stdio.h>

 

int main(void)

{

    char ch;

    int num;

    double fnum;

 

    printf("ch  의 바이트 크기 : %d\n", sizeof ch);   // 변수의 크기를 구할 때는 () 생략 가능

    printf("num 의 바이트 크기 : %d\n", sizeof num);

    printf("fnum의 바이트 크기 : %d\n", sizeof fnum);

 

    printf("3.14f의 바이트 크기 : %d\n", sizeof 3.14f);

 

    printf("char   형의 바이트 크기 : %d\n", sizeof(char));    // 데이터 형의 크기를 구할 때는 () 필요

    printf("short  형의 바이트 크기 : %d\n", sizeof(short));

    printf("int    형의 바이트 크기 : %d\n", sizeof(int));

    printf("long   형의 바이트 크기 : %d\n", sizeof(long));

    printf("float  형의 바이트 크기 : %d\n", sizeof(float));

    printf("double 형의 바이트 크기 : %d\n", sizeof(double));

 

    return 0;

}

 

 

 

************************************************************************

/* Ex04_01.c */

#include <stdio.h>

 

int main(void)

{

    int num1, num2;

    int result;

 

    printf("두 개의 정수를 입력하세요 : ");

    scanf("%d %d", &num1, &num2);

 

    result = num1 + num2;

    printf("%d + %d = %d\n", num1, num2, result);

 

    result = num1 - num2;

    printf("%d - %d = %d\n", num1, num2, result);

 

    result = num1 * num2;

    printf("%d * %d = %d\n", num1, num2, result);

 

    result = num1 / num2;

    printf("%d / %d = %d\n", num1, num2, result);

 

    result = num1 % num2;

    printf("%d %% %d = %d\n", num1, num2, result);

 

    return 0;

}

 

 

************************************************************************

/* Ex04_02.c */

#include <stdio.h>

 

int main(void)

{

    int num;

    int thousands, tens;

 

    printf("6자리 정수를 입력하세요 : ");

    scanf("%d", &num);

 

    thousands = num / 1000;

    tens = num % 1000;

    printf("%d,%d\n", thousands, tens);

 

    return 0;

}

 

 

************************************************************************

/* Ex04_03.c */

#include <stdio.h>

 

int main(void)

{

    int count;

    int value1, value2;

    float temperature = 10.5f;

 

    count = 10;

    value1 = ++count;

    printf("value1 = %d, count = %d\n", value1, count);

 

    count = 10;

    value2 = count++;

    printf("value2 = %d, count = %d\n", value2, count);

 

    count = 10;

    ++count;

    printf("count = %d\n", count);

 

    count = 10;

    count++;

    printf("count = %d\n", count);

 

    temperature++;

    printf("temperature = %f\n", temperature);

 

    return 0;

}

 

 

************************************************************************

/* Ex04_04.c */

#include <stdio.h>

 

int main(void)

{

    int a = 10;

    int b = 20;

 

    printf("a = %d, b = %d\n", a, b);

    printf("a >  b = %d\n", a > b);

    printf("a >= b = %d\n", a >= b);

    printf("a <  b = %d\n", a < b);

    printf("a <= b = %d\n", a <= b);

    printf("a == b = %d\n", a == b);

    printf("a != b = %d\n", a != b);

 

    return 0;

}

 

 

************************************************************************

/* Ex04_05.c */

#include <stdio.h>

 

int main(void)

{

    int score = 95;

 

    printf("90점 이상 100점 이하인가? : %d\n", 

        score >= 90 && score <= 100);

 

    printf("0점 또는 100점인가? : %d\n", 

        score == 0 || score == 100);

 

    printf("0점인가? : %d\n", !score);

 

    return 0;

}

 

 

************************************************************************

/* Ex04_07.c */

#include <stdio.h>

 

int main(void)

{

    int a = 10; // 0x0a

    int b;

 

    b = a << 2;

    printf("a << 2 = %08x(%d)\n", b, b);

 

    b = a >> 2;

    printf("a >> 2 = %08x(%d)\n", b, b);

 

    return 0;

}

 

 

 

************************************************************************

/* Ex04_08.c */

#include <stdio.h>

 

int main(void)

{

    int num;

 

    num = 5;

    printf("num = %d\n", num);

 

    num += 2;

    printf("num = %d\n", num);

 

    num *= 2;

    printf("num = %d\n", num);

 

    num |= 3;

    printf("num = %d\n", num);

    

    num <<= 2;

    printf("num = %d\n", num);

 

    return 0;

}

 

 

 

************************************************************************

/* Ex04_09.c */

#include <stdio.h>

 

int main(void)

{

    int a, b;

    int min, max;

 

    printf("두 개의 정수를 입력하세요 : ");

    scanf("%d %d", &a, &b);

 

    min = a < b ? a : b;

    max = a > b ? a : b;

 

    printf("min = %d, max = %d\n", min, max);

 

    return 0;

}

 

 

 

 

 

************************************************************************

/* Ex04_10.c */

#include <stdio.h>

 

int main(void)

{

    short a = 500;

    short b = 800;

    short c;

 

    printf("a * b = %d\n", a * b);

 

    c  = a * b;

    printf("c = %d\n", c);

 

    return 0;

}

 

 

 

************************************************************************

/* Ex04_11.c */

#include <stdio.h>

 

int main(void)

{

    int num;

    double f;

 

    num = 3.14;

    printf("num = %d\n", num);

 

    f = 123;

    printf("f = %f\n", f);

 

    return 0;

}

 

 

 

************************************************************************

/* Ex04_12.c */

#include <stdio.h>

 

int main(void)

{

    int num;

    float f;

 

    f = 10 / 3;

    printf("f = %f\n", f);

 

    f = (float) 10 / 3;

    printf("f = %f\n", f);

 

    f = (float) 10 / (float) 3;

    printf("f = %f\n", f);

 

    num = (int) (12.5 + 10.7);

    printf("num = %d\n", num);

 

    num = (int)12.5 + (int)10.7;

    printf("num = %d\n", num);

 

    return 0;

}

 

 

 

************************************************************************

/* Ex04_13.c */

#include <stdio.h>

 

int main(void)

{

    int a = 1, b = 2, c = 3;

    int result;

 

    result = a + b * c % 2;

    printf("result = %d\n", result);

 

    result = a > b || c > 0;

    printf("result = %d\n", result);

 

    result = a > b || c > 0 && b > c;

    printf("result = %d\n", result);

 

    result = ++a * b--;

    printf("result = %d\n", result);

 

    result = a = b = c;

    printf("result = %d\n", result);

 

    return 0;

}

 

 

 

************************************************************************

/* Ex05_01.c */

#include <stdio.h>

 

int main(void)

{

    int score;

 

    printf("점수를 입력하세요 : ");

    scanf("%d", &score);

 

    if( score < 60 )

        printf("%d점은 불합격입니다.\n", score);

 

    if( score >= 60 )

        printf("%d점은 합격입니다.\n", score);

 

    return 0;

}

 

 

************************************************************************

/* Ex05_02.c */

#include <stdio.h>

 

int main(void)

{

    int score;

 

    printf("점수를 입력하세요 : ");

    scanf("%d", &score);

 

    if( score < 60 )

        printf("%d점은 불합격입니다.\n", score);

    else

        printf("%d점은 합격입니다.\n", score);

 

    return 0;

}

 

 

************************************************************************

/* Ex05_03.c */

#include <stdio.h>

 

int main(void)

{

    int score;

    char grade;

 

    printf("점수를 입력하세요 : ");

    scanf("%d", &score);

 

    if( score >= 90 )

        grade = 'A';

    else if( score >= 80 )

        grade = 'B';

    else if( score >= 70 )

        grade = 'C';

    else if( score >= 60 )

        grade = 'D';

    else 

        grade = 'F';

 

    printf("%c 학점입니다.\n", grade);

 

    return 0;

}

 

 

************************************************************************

/* Ex05_04.c */

#include <stdio.h>

 

int main(void)

{

    int score;

    char grade;

 

    printf("점수를 입력하세요 : ");

    scanf("%d", &score);

 

    if( score < 0 || score > 100 )

    {

        printf("잘못 입력하셨습니다.\n");

    }    

    else

    {

        if( score >= 90 )

            grade = 'A';

        else if( score >= 80 )

            grade = 'B';

        else if( score >= 70 )

            grade = 'C';

        else if( score >= 60 )

            grade = 'D';

        else 

            grade = 'F';

 

        printf("%c 학점입니다.\n", grade);

    }

 

    return 0;

}

 

 

************************************************************************

/* Ex05_05.c */

#include <stdio.h>

 

int main(void)

{

    int a, b;

    char op;

 

    printf("수식을 입력하세요 : ");

    scanf("%d %c %d", &a, &op, &b);

 

    switch( op )

    {

    case '+':

        printf("%d + %d = %d\n", a, b, a + b);

        break;

    case '-':

        printf("%d - %d = %d\n", a, b, a - b);

        break;

    case '*':

        printf("%d * %d = %d\n", a, b, a * b);

        break;

    case '/':

        printf("%d / %d = %d\n", a, b, a / b);

        break;

    default:

        printf("계산할 수 없습니다.\n");

        break;

    }

 

    return 0;

}

 

 

************************************************************************

/* Ex05_06.c */

#include <stdio.h>

 

int main(void)

{

    int a, b;

    char op;

 

    printf("수식을 입력하세요 : ");

    scanf("%d %c %d", &a, &op, &b);

 

    if( op == '+' )

    {

        printf("%d + %d = %d\n", a, b, a + b);

    }

    else if( op == '-' )

    {

        printf("%d - %d = %d\n", a, b, a - b);

    }

    else if( op == '*' )

    {

        printf("%d * %d = %d\n", a, b, a * b);

    }

    else if( op == '/' )

    {

        printf("%d / %d = %d\n", a, b, a / b);

    }

    else

    {

        printf("계산할 수 없습니다.\n");

    }

 

    return 0;

}

 

 

************************************************************************

/* Ex05_07.c */

#include <stdio.h>

 

int main(void)

{

    int a, b;

    char op;

 

    printf("수식을 입력하세요 : ");

    scanf("%d %c %d", &a, &op, &b);

 

    switch( op )

    {

    case '+':

        printf("%d + %d = %d\n", a, b, a + b);

    case '-':

        printf("%d - %d = %d\n", a, b, a - b);

    case '*':

        printf("%d * %d = %d\n", a, b, a * b);

    case '/':

        printf("%d / %d = %d\n", a, b, a / b);

    default:

        printf("계산할 수 없습니다.\n");

    }

 

    return 0;

}

 

 

************************************************************************

/* Ex05_08.c */

#include <stdio.h>

 

int main(void)

{

    int i;

 

    for( i = 1 ; i <= 10 ; i++)

        printf("%d ", i);

 

    printf("\n");

 

    return 0;

}

 

 

************************************************************************

/* Ex05_09.c */

#include <stdio.h>

 

int main(void)

{

    int i;

    int sum = 0;

    int factorial = 1;

 

    for( i = 1 ; i <= 10 ; i++)

    {

        sum += i;

        factorial *= i;

    }

 

    printf("1~10의 합 : %d\n", sum);

    printf("1~10의 곱 : %d\n", factorial);

 

    return 0;

}

 

 

************************************************************************

/* Ex05_10.c */

#include <stdio.h>

 

int main(void)

{

    int i, j;

 

    for( i = 1 ; i < 10 ; i++ )

    {

        for( j = 1 ; j < 10 ; j++ )

        {

            printf("%d*%d=%2d ", i, j, i*j);

        }

        printf("\n");

    }

 

    return 0;

}

 

 

************************************************************************

/* Ex05_11.c */

#include <stdio.h>

 

int main(void)

{

    int i;

 

    i = 1;

    while( i <= 10 )

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

 

    printf("\n");

 

    return 0;

}

 

 

************************************************************************

/* Ex05_12.c */

#include <stdio.h>

 

int main(void)

{

    int i;

    int sum = 0;

    int factorial = 1;

 

    i = 1;

    while( i <= 10 )

    {

        sum += i;

        factorial *= i;

        i++;

    }

 

    printf("1~10의 합 : %d\n", sum);

    printf("1~10의 곱 : %d\n", factorial);

 

    return 0;

}

 

 

************************************************************************

/* Ex05_13.c */

#include <stdio.h>

 

int main(void)

{

    int a, b;

    char op;

 

    printf("수식을 입력하세요 (0 0 0 입력시 종료) : ");

    scanf("%d %c %d", &a, &op, &b);

 

    while ( a != 0 || b != 0 || op != '0' )

    {

        switch( op )

        {

        case '+':

            printf("%d + %d = %d\n", a, b, a + b);

            break;

        case '-':

            printf("%d - %d = %d\n", a, b, a - b);

            break;

        case '*':

            printf("%d * %d = %d\n", a, b, a * b);

            break;

        case '/':

            printf("%d / %d = %d\n", a, b, a / b);

            break;

        default:

            printf("계산할 수 없습니다.\n");

            break;

        }

 

        printf("수식을 입력하세요 (0 0 0 입력시 종료) : ");

        scanf("%d %c %d", &a, &op, &b);

    }

 

    return 0;

}

 

 

************************************************************************

/* Ex05_14.c */

#include <stdio.h>

 

int main(void)

{

    int num;

    int i;

 

    while ( 1 )

    {

        printf("정수를 입력하세요 (Ctrl+C 입력 시 종료) : ");

        scanf("%d", &num);

 

        for ( i = 1 ; i < 10 ; i++)

            printf("%d*%d=%2d ", num, i, num * i);

        printf("\n");

    }

 

    return 0;

}

 

 

************************************************************************

/* Ex05_15.c */

#include <stdio.h>

 

int main(void)

{

    int i;

 

    i = 1;

    do 

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

    while ( i <= 10 );

 

    printf("\n");

 

    return 0;

}

 

 

************************************************************************

/* Ex05_16.c */

#include <stdio.h>

 

int main(void)

{

    int i;

 

    for ( i = 1 ; i <= 10 ; i++ )

    {

        if ( i % 2 == 0 )

            break;

        printf("%d ", i);

    }

    printf("\n");

 

    return 0;

}

 

 

************************************************************************

/* Ex05_17.c */

#include <stdio.h>

 

int main(void)

{

    int num, sum;

    int i;

 

    while ( 1 )

    {

        printf("정수를 입력하세요 (-1 입력시 종료) : ");

        scanf("%d", &num);

 

        if ( num == -1 )

            break;

 

        sum = 0;

        for ( i = 1 ; i <= num ; i++)

            sum += i;

        printf("%d까지의 합계 : %d\n", num, sum);

    }

 

    return 0;

}

 

 

************************************************************************

/* Ex05_18.c */

#include <stdio.h>

 

int main(void)

{

    int i;

 

    for ( i = 1 ; i <= 10 ; i++ )

    {

        if ( i % 2 == 0 )

            continue;

        printf("%d ", i);

    }

    printf("\n");

 

    return 0;

}

 

 

************************************************************************

/* Ex05_19.c */

#include <stdio.h>

 

int main(void)

{

    int i;

 

    for ( i = 1 ; i <= 10 ; i++ )

    {

        if ( i % 2 == 0 )

            goto exit;

        printf("%d ", i);

    }

exit:

    printf("\n");

 

    return 0;

}

 

 

************************************************************************

/* Ex05_20.c */

#include <stdio.h>

 

int main(void)

{

    int i;

 

    for ( i = 1 ; i <= 10 ; i++ )

    {

        if ( i % 2 == 0 )

            return 1;

        printf("%d ", i);

    }

    printf("프로그램을 종료합니다.\n");

 

    return 0;

}

 

 

************************************************************************

/* Ex06_01.c */

#include <stdio.h>

 

void PrintHello(void) 

{

     printf("Hello World\n");

}

 

void PrintLine(void)

{

    int i;

    for(i = 0 ; i < 20 ; i++)

        printf("-");

    printf("\n");

}

 

int main(void)

{

    PrintLine();

    PrintHello();

    PrintLine();

 

    return 0;

}

 

 

************************************************************************

/* Ex06_02.c */

#include <stdio.h>

 

void PrintSumAndProduct(int a, int b)

{

    printf("%d + %d = %d\n", a, b, a + b);

    printf("%d * %d = %d\n", a, b, a * b);

}

 

int main(void)

{

    int x, y;

 

    PrintSumAndProduct(10, 20);

 

    printf("정수를 입력하세요 : ");

    scanf("%d %d", &x, &y);

    PrintSumAndProduct(x, y);

 

    return 0;

}

 

 

************************************************************************

/* Ex06_03.c */

#include <stdio.h>

 

int GetFactorial(int num) 

{

    int i;

    int fact = 1;

    for(i = 1 ; i <= num ; i++)

        fact *= i;

    return fact;

}

 

int GetSum(int num) 

{

    int i;

    int sum = 0;

    for(i = 1 ; i <= num ; i++)

        sum += i;

    return sum;

}

 

int main(void)

{

    int result1, result2;

 

    result1 = GetFactorial(10);

    printf("10 팩토리얼 = %d\n", result1);

 

    result2 = GetSum(10);

    printf("1~10의 합계 = %d\n", result2);

    

    return 0;

}

 

 

************************************************************************

/* Ex06_04.c */

#include <stdio.h>

 

float GetMax(float a, float b, float c) 

{

    float max;

    max = a > b ? a : b;

    max = c > max ? c : max;

    return max;

}

 

int main(void)

{

    float x, y, z;

    float result;

 

    printf("세 개의 실수를 입력하세요 : ");

    scanf("%f %f %f", &x, &y, &z);

    result = GetMax(x, y, z);

    printf("result = %f\n", result);

 

    //result = GetMax(0.5, 10.5);

    //result = GetMax(0.5, 10.5, 12.5, 1.5);

 

    return 0;

}

 

 

************************************************************************

/* Ex06_05.c */

#include <stdio.h>

 

int main(void)

{

    int i_res;

    float f_res;

 

 

    i_res = GetFactorial(5);

    printf("5! = %d\n", i_res);

 

    f_res = GetMax(0.5, 10.5, 12.5);

    printf("최대값 = %f\n", f_res);

 

    return 0;

}

 

int GetFactorial(int num) 

{

    int i;

    int fact = 1;

    for(i = 1 ; i <= num ; i++)

        fact *= i;

    return fact;

}

 

float GetMax(float a, float b, float c) 

{

    float max;

    max = a > b ? a : b;

    max = c > max ? c : max;

    return max;

}

 

 

************************************************************************

/* Ex06_06.c */

#include <stdio.h>

 

int GetFactorial(int num);

float GetMax(float a, float b, float c);

 

int main(void)

{

    int i_res;

    float f_res;

 

    i_res = GetFactorial(5);

    printf("5! = %d\n", i_res);

 

    f_res = GetMax(0.5, 10.5, 12.5);

    printf("최대값 = %f\n", f_res);

 

    return 0;

}

 

int GetFactorial(int num) 

{

    int i;

    int fact = 1;

    for(i = 1 ; i <= num ; i++)

        fact *= i;

    return fact;

}

 

float GetMax(float a, float b, float c) 

{

    float max;

    max = a > b ? a : b;

    max = c > max ? c : max;

    return max;

}

 

 

************************************************************************

/* Ex06_07.c */

#include <stdio.h>

 

void PrintCount(void);

 

int main(void)

{

    int count = 0;

 

    printf("main: count = %d\n", count);

 

    return 0;

}

 

void PrintCount(void)

{

    printf("PrintCount: count = %d\n", count);

}

 

 

 

************************************************************************

/* Ex06_08.c */

#include <stdio.h>

 

void PrintCount(void);

 

int main(void)

{

    int count = 0;

 

    printf("main: count = %d\n", count);

 

    PrintCount();

 

    return 0;

}

 

void PrintCount(void)

{

    int count = 100;

    printf("PrintCount: count = %d\n", count);

}

 

 

 

************************************************************************

/* Ex06_09.c */

#include <stdio.h>

 

void TestLocal(void);

 

int main(void)

{

    TestLocal();

    TestLocal();

 

    return 0;

}

 

void TestLocal(void)

{

    int num = 0;

 

    printf("num = %d\n", num++);

}

 

 

 

************************************************************************

/* Ex06_10.c */

#include <stdio.h>

 

void PrintCount(void);

void Increment(void);

void Decrement(void);

 

int count;

 

int main(void)

{

    count = 0;

 

    PrintCount();

    Increment();

    Increment();

    PrintCount();

 

    Decrement();

    PrintCount();

 

    return 0;

}

 

void PrintCount(void)

{

    printf("count = %d\n", count);

}

 

void Increment(void)

{

    count++;

}

 

void Decrement(void)

{

    count--;

}

 

 

************************************************************************

/* Ex06_11.c */

#include <stdio.h>

 

void PrintCount(void);

void Increment(void);

void Decrement(void);

 

int main(void)

{

    count = 0;

 

    Increment();

    PrintCount();

 

    return 0;

}

 

int count;

 

void PrintCount(void)

{

    printf("count = %d\n", count);

}

 

 

void Increment(void)

{

    count++;

}

 

void Decrement(void)

{

    count--;

}

 

 

 

************************************************************************

/* Ex06_12.c */

#include <stdio.h>

 

void PrintCount(void);

void Increment(void);

void Decrement(void);

 

int count;

 

int main(void)

{

    Increment();

    PrintCount();

 

    return 0;

}

 

void PrintCount(void)

{

    printf("count = %d\n", count);

}

 

void Increment(void)

{

    count++;

}

 

void Decrement(void)

{

    count--;

}

 

 

 

************************************************************************

/* Ex06_13.c */

#include <stdio.h>

 

void Test(void);

 

int num = 10;

 

int main(void)

{

    int num = 20;

 

    while( 1 )

    {

        int num = 30;

 

        printf("num = %d\n", num++);

 

        if(num > 25)

           break;

    }

    printf("num = %d\n", num);

 

    Test();

 

    return 0;

}

 

void Test(void)

{

    printf("num = %d\n", num);

}

 

 

 

************************************************************************

/* Ex06_14.c */

#include <stdio.h>

 

void Swap(int x, int y);

 

int main(void)

{

    int a = 10;

    int b = 20;

 

    printf("Swap 전의 a = %d, b = %d\n", a, b);

 

    Swap(a, b);

 

    printf("Swap 후의 a = %d, b = %d\n", a, b);

 

    return 0;

}

 

void Swap(int x, int y)

{

    int temp;

 

    temp = x;

    x = y;

    y = temp;

}

 

 

************************************************************************

/* Ex06_15.c */

#include <stdio.h>

 

void GetSumProduct(int a, int b, int sum, int product);

 

int main(void)

{

    int sum = 0, product = 0;

 

    GetSumProduct(10, 20, sum, product);

 

    printf("sum = %d, product = %d\n", sum, product);

 

    return 0;

}

 

void GetSumProduct(int a, int b, int sum, int product)

{

    sum = a + b;

    product = a * b;

}

 

 

 

************************************************************************

/* Example.c */

#include <stdio.h>

#include <math.h>

 

double GetLength(int x, int y);

int GetArea(int x, int y);

int GetPerimeter(int x, int y);

 

int main(void)

{

    int x, y;

    printf("한 점의 좌표 (x, y)를 입력하세요 : ");

    scanf("%d %d", &x, &y);

 

    printf("원점과 (%d, %d)사이의 거리 = %lf\n", x, y, GetLength(x, y));

    printf("원점과 (%d, %d)이 이루는 직사각형의 면적 = %d\n", x, y, GetArea(x, y));

    printf("원점과 (%d, %d)이 이루는 직사각형의 둘레 = %d\n", x, y, GetPerimeter(x, y));

 

    return 0;

}

 

double GetLength(int x, int y)

{

    double len;

 

    len = sqrt(x * x + y* y);

 

    return len;

}

 

int GetArea(int x, int y)

{

    return x * y;

}

 

int GetPerimeter(int x, int y)

{

    return 2 * (x + y);

}

 

 

************************************************************************

/* Ex07_01.c */

#include <stdio.h>

 

int main(void)

{

    int arr[5];

    int i;

 

    arr[0] = 10;

    arr[1] = 20;

    arr[2] = 30;

    arr[3] = 40;

    arr[4] = 50;

 

    for(i = 0 ; i < 5 ; i++)

        printf("arr[%d] = %d\n", i, arr[i]);

 

    return 0;

}

 

 

************************************************************************

/* Ex07_02.c */

#include <stdio.h>

 

int main(void)

{

    int arr[5];

    int i;

 

    arr[0] = 10;

    arr[1] = 20;

    arr[2] = 30;

    arr[3] = 40;

    arr[4] = 50;

    arr[5] = 60;

 

    for(i = 0 ; i < 5 ; i++)

        printf("arr[%d] = %d\n", i, arr[i]);

 

    return 0;

}

 

 

************************************************************************

/* Ex07_03.c */

#include <stdio.h>

 

int main(void)

{

    int arr[5] = { 1, 2, 3, 4, 5 };

    int i;

 

    for(i = 0 ; i < 5 ; i++)

        printf("%d ", arr[i]);

    printf("\n");

 

    return 0;

}

 

 

************************************************************************

/* Ex07_04.c */

#include <stdio.h>

 

#define MAX 5

 

int main(void)

{

    int arr[MAX] = { 0 };

    int i;

    int sum;

    double average;

 

    printf("%d개의 정수를 입력하세요 : ", MAX);

    for(i = 0 ; i < MAX ; i++)

        scanf("%d", &arr[i]);

 

    for(i = 0, sum = 0 ; i < MAX ; i++)

        sum += arr[i];

 

    average = (double)sum / (double)MAX;

    printf("합계 : %d, 평균 : %5.2f\n", sum, average);

 

    return 0;

}

 

 

************************************************************************

/* Ex07_05.c */

#include <stdio.h>

 

#define SIZE 10

 

int main(void)

{

    int array[SIZE] = { 23, 96, 35, 42, 81, 19, 8, 77, 50, 64 };

    int i, j, index;

    int temp;

 

    for(i = 0; i < SIZE-1 ; i++)

    {

        index = i;  

        for(j = i+1 ; j < SIZE ; j++)

        {

            if( array[index] > array[j] )

                index = j;

        }

        temp         = array[i];

        array[i]     = array[index];

        array[index] = temp;

    }

 

    printf("정렬 결과 : ");

    for(i = 0 ; i < SIZE ; i++)

        printf("%d ", array[i]);

    printf("\n");

 

    return 0;

}

 

 

************************************************************************

/* Ex07_06.c */

#include <stdio.h>

 

int main(void)

{

    short data[2][3];

    int i, j;

 

    data[0][0] = 1;

    data[0][1] = 2;

    data[0][2] = 3;

    data[1][0] = 4;

    data[1][1] = 5;

    data[1][2] = 6;

 

    for(i = 0; i < 2 ; i++)

    {

        for(j = 0 ; j < 3 ; j++)

        {

            printf("%d ", data[i][j]);

        }

        printf("\n");

    }

 

    return 0;

}

 

 

************************************************************************

/* Ex07_07.c */

#include <stdio.h>

 

int main(void)

{

    char str1[4] = "abc";

    char str2[10] = "12345";

    char str3[] = "Hello World";

 

    printf("str1 = %s\n", str1);

    printf("str2 = %s\n", str2);

    printf("str3 = %s\n", str3);

 

    return 0;

}

 

 

************************************************************************

/* Ex07_08.c */

#include <stdio.h>

#include <string.h>

 

int main(void)

{

    char str1[20], str2[20];

  

    strcpy(str1, "abcde");

    printf("str1 = %s\n", str1);

 

    strcpy(str2, str1);

    printf("str2 = %s\n", str2);

 

    return 0;

}

 

 

************************************************************************

/* Ex07_09.c */

#include <stdio.h>

#include <string.h>

 

int main(void)

{

    char str1[] = "abcde";

    char str2[10] = "";

  

    printf("str1의 길이 = %d\n", strlen(str1));

    printf("str2의 길이 = %d\n", strlen(str2));

    printf("문자열의 길이 = %d\n", strlen("Hello World"));

 

    return 0;

}

 

 

************************************************************************

/* Ex07_10.c */

#include <stdio.h>

#include <string.h>

 

int main(void)

{

    char str1[20];

    char str2[20] = "ABCDE";

 

    strcpy(str1, "abcde");

 

    if( strcmp(str1, "abcde") == 0 )

        printf("두 문자열이 같습니다.\n");

    else

        printf("두 문자열이 다릅니다.\n");

 

    if( strcmp(str1, str2) == 0 )

        printf("두 문자열이 같습니다.\n");

    else

        printf("두 문자열이 다릅니다.\n");

 

    return 0;

}

 

 

************************************************************************

/* Ex07_11.c */

#include <stdio.h>

#include <string.h>

 

int main(void)

{

    char str[20] = "abcde";

 

    strcat(str, "12345");

 

    printf("str = %s\n", str);

 

    return 0;

}

 

 

************************************************************************

/* Ex07_12.c */

#include <stdio.h>

#include <string.h>

 

int main(void)

{

    char name[20];

 

    printf("이름을 입력하세요 : ");

    scanf("%s", name);

    printf("%s씨, 안녕하세요?\n", name);

 

    return 0;

}

 

 

************************************************************************

/* Ex07_13.c */

#include <stdio.h>

#include <string.h>

 

int main(void)

{

    char name[20];

    char msg[40];

 

    printf("이름을 입력하세요 : ");

    gets(name);

 

    sprintf(msg, "%s씨, 안녕하세요?", name);

    puts(msg);

 

    return 0;

}

 

 

************************************************************************

/* Ex07_14.c */

#include <stdio.h>

#include <string.h>

 

int main(void)

{

    char s[3][5];

    int i;

 

    strcpy(s[0], "ab");

    strcpy(s[1], "cdef");

    strcpy(s[2], "ghi");

 

    s[2][0] = 'G';

    for(i = 0 ; i < 3 ; i++)

        printf("%s 문자열의 길이 : %d\n", s[i], strlen(s[i]));

    

    return 0;

}

 

 

************************************************************************

/* Ex08_01.c */

#include <stdio.h>

 

int main(void)

{

    char *pc;

    int *pi;

    double *pd;

 

    printf("pc의 크기 : %d\n", sizeof(pc));

    printf("pi의 크기 : %d\n", sizeof(pi));

    printf("pd의 크기 : %d\n", sizeof(pd));

 

    printf("char*  의 크기 : %d\n", sizeof(char*));

    printf("short* 의 크기 : %d\n", sizeof(short*));

    printf("int*   의 크기 : %d\n", sizeof(int*));

    printf("float* 의 크기 : %d\n", sizeof(float*));

    printf("double*의 크기 : %d\n", sizeof(double*));

 

    return 0;

}

 

 

************************************************************************

/* Ex08_02.c */

#include <stdio.h>

 

int main(void)

{

    int x;

    int *p;

 

    p = &x;

    *p = 10;

 

    printf("*p = %d\n", *p);

    printf("x  = %d\n", x);

 

    printf("p  = %p\n", p);

    printf("&x = %p\n", &x);

 

    printf("&p = %p\n", &p);

 

    return 0;

}

 

 

************************************************************************

/* Ex08_03.c */

#include <stdio.h>

 

int main(void)

{

    char ch;

    char *pc = &ch;

 

    int n;

    int *pi = &n;

 

    double d;

    double *pd = &d;

 

    int arr[3];

    int i;

 

    for(i = 0 ; i < 3 ; i++)

        printf("pc+%d = %p\n", i, pc+i);

 

    for(i = 0 ; i < 3 ; i++)

        printf("pi+%d = %p\n", i, pi+i);

 

    for(i = 0 ; i < 3 ; i++)

        printf("pd+%d = %p\n", i, pd+i);

 

    for(i = 0 ; i < 5 ; i++)

        printf("&arr[%d]-&arr[0] = %d\n", i, &arr[i]-&arr[0]);

    

    return 0;

}

 

 

************************************************************************

/* Ex08_04.c */

#include <stdio.h>

 

int main(void)

{

    int arr[5] = {10, 20, 30, 40, 50};

    int *p = &arr[0];

    int i;

 

    for(i = 0 ; i < 5 ; i++, p++)

        printf("%d\n", *p);

    

    return 0;

}

 

 

************************************************************************

/* Ex08_05.c */

#include <stdio.h>

 

int main(void)

{

    int arr[5] = {10, 20, 30, 40, 50};

    int i;

 

    for(i = 0 ; i < 5 ; i++)

    {

        printf("&arr[%d] = %p, ", i, &arr[i]);

        printf("arr+%d = %p\n", i, arr+i);

    }

 

    for(i = 0 ; i < 5 ; i++)

    {

        printf("arr[%d] = %d, ", i, arr[i]);

        printf("*(arr+%d) = %d\n", i, *(arr+i));

    }

 

    return 0;

}

 

 

************************************************************************

/* Ex08_06.c */

#include <stdio.h>

 

int main(void)

{

    int arr[5] = {10, 20, 30, 40, 50};

    int * p = arr;

    int i;

 

    for(i = 0 ; i < 5 ; i++)

    {

        printf("arr+%d = %p, ", i, arr+i);

        printf("p+%d = %p\n", i, p+i);

    }

 

    for(i = 0 ; i < 5 ; i++)

    {

        printf("arr[%d] = %d, ", i, arr[i]);

        printf("p[%d] = %d\n", i, p[i]);

    }

 

    return 0;

}

 

 

************************************************************************

/* Ex08_07.c */

#include <stdio.h>

#include <string.h>

 

int main(void)

{

    char *p = "abcde";

 

    printf("p = %s\n", p);

    printf("p = %p\n", p);

    printf("p = %p\n", "abcde");

 

    p[0] = 'A';

    strcpy(p, "hello");

 

    return 0;

}

 

 

************************************************************************

/* Ex08_08.c */

#include <stdio.h>

#include <string.h>

 

int main(void)

{

    char *p = "abcde";

 

    printf("p = %s\n", p);

    printf("p = %p\n", p);

    printf("p = %p\n", "abcde");

 

    p = "hello";

 

    printf("p = %s\n", p);

    printf("p = %p\n", p);

    printf("p = %p\n", "hello");

 

    return 0;

}

 

 

************************************************************************

/* Ex09_01.c */

#include <stdio.h>

#include <string.h>

 

struct student {

    char name[20];

    int korean, english, math;

    double average;

};

 

int main(void)

{

    struct student s1;

    struct student s2 = {"박나나", 90, 78, 86};

 

    s1.korean = 100;

    s1.english = 100;

    s1.math = 100;

    strcpy(s1.name, "김모모");

    s1.average = (double)(s1.korean+s1.english+s1.math) / 3;

 

    s2.average = (double)(s2.korean+s2.english+s2.math) / 3;

 

    printf("%s : %5.2f\n", s1.name, s1.average);

    printf("%s : %5.2f\n", s2.name, s2.average);

 

    return 0;

}

 

 

************************************************************************

/* Ex09_02.c */

#include <stdio.h>

#include <math.h>

 

struct point {

    int x, y;

};

 

int main(void)

{

    struct point p1, p2;

    double dist;

 

    printf("p1의 x, y 좌표를 입력하세요 : ");

    scanf("%d %d", &p1.x, &p1.y);

 

    printf("p2의 x, y 좌표를 입력하세요 : ");

    scanf("%d %d", &p2.x, &p2.y);

 

    dist = sqrt( pow(p2.x-p1.x, 2) + pow(p2.y-p1.y, 2) );

 

    printf("두 점 사이의 거리 : %f\n", dist);

 

    return 0;

}

 

 

************************************************************************

/* Ex09_03.c */

#include <stdio.h>

 

struct point {

    int x, y;

};

 

int main(void)

{

    struct point p1 = {10, 20};

    struct point p2 = {30, 40};

    struct point p3 = p1;

    struct point p4;

 

    printf("p3의 좌표 : %d, %d\n", p3.x, p3.y);

 

    p4 = p2;

 

    printf("p4의 좌표 : %d, %d\n", p4.x, p4.y);

 

    return 0;

}

 

 

************************************************************************

/* Ex09_04.c */

#include <stdio.h>

 

#define MAX_STUDENT 5

 

struct student {

    char name[20];

    int korean, english, math;

    double average;

};

 

int main(void)

{

    struct student std[MAX_STUDENT];

    int i;

    double total_average = 0;

 

    printf("%d 명의 학생 정보를 입력하세요.\n", MAX_STUDENT);

    for( i = 0 ; i < MAX_STUDENT ; i++ )

    {

        printf("이름 : ");

        scanf("%s", std[i].name);

        printf("국어, 영어, 수학 점수 : ");

        scanf("%d %d %d", 

            &std[i].korean, &std[i].english, &std[i].math);

        std[i].average = (double)

            (std[i].korean+std[i].english+std[i].math) / 3;

        total_average += std[i].average;

    }

 

    total_average /= MAX_STUDENT;

 

    printf("\n이름       국어 영어 수학 평균\n");

    for( i = 0 ; i < MAX_STUDENT ; i++ )

    {

        printf("%-10s  %3d  %3d  %3d  %6.2f\n",

            std[i].name, std[i].korean, std[i].english, 

            std[i].math, std[i].average);

    }

    printf("전체 평균 : %6.2f\n", total_average);

 

    return 0;

}

 

 

************************************************************************

/* Ex09_05.c */

#include <stdio.h>

#include <math.h>

 

struct point {

    int x, y;

};

 

double GetDistance(struct point* p1, struct point* p2);

 

int main(void) 

{

    struct point pt1 = {0, 0};

    struct point pt2 = {10, 10};

    double distance;

 

    distance = GetDistance(&pt1, &pt2);

    printf("두 점 사이의 거리 : %5.2f\n", distance);

 

    return 0;

}

 

double GetDistance(struct point* p1, struct point* p2)

{

    int dx = p2->x - p1->x;

    int dy = p2->y - p1->y;

 

    return sqrt(dx*dx + dy*dy);

}

 

 

************************************************************************

/* Ex09_06.c */

#include <stdio.h>

 

struct time {

    unsigned int sec : 6;

    unsigned int min : 6;

    unsigned int hour : 5;

};

 

int main(void)

{

    struct time t1;

 

    printf("time 구조체의 크기 : %d\n", sizeof(struct time));

 

    t1.hour = 5;

    t1.min = 30;

    t1.sec = 70;

 

    printf("%02d:%02d:%02d\n", t1.hour, t1.min, t1.sec);

 

    return 0;

}

 

 

************************************************************************

/* Ex09_07.c */

#include <stdio.h>

 

union data {

    unsigned long dword;

    unsigned char byte[4];

};

 

int main(void)

{

    union data d1;

    int i;

 

    printf("data 공용체의 크기 : %d\n", sizeof(union data));

 

    d1.dword = 0x12345678;

    printf("d1.dword = %08x\n", d1.dword);

    for( i = 0 ; i < 4 ; i++ )

        printf("d1.byte[%d] = %02x\n", i, d1.byte[i]);

 

    return 0;

}

 

 

************************************************************************

/* Ex09_08.c */

#include <stdio.h>

 

enum week {sun, mon, tue, wed, thu, fri, sat};

 

int main(void)

{

    enum week weekday;

 

    weekday = mon;

 

    switch( weekday )

    {

    case sun:

        printf("일요일입니다.\n");

        break;

    case mon:

        printf("월요일입니다.\n");

        break;    

    case tue:

        printf("화요일입니다.\n");

        break;

    case wed:

        printf("수요일입니다.\n");

        break;    

    case thu:

        printf("목요일입니다.\n");

        break;

    case fri:

        printf("금요일입니다.\n");

        break;

    case sat:

        printf("토요일입니다.\n");

        break;

    }

 

    return 0;

}

 

 

************************************************************************

/* Ex09_09.c */

#include <stdio.h>

 

struct point {

    int x;

    int y;

};

 

typedef struct point POINT;

 

int main(void)

{

    struct point p1 = {10, 20};

    POINT p2;

 

    p2 = p1;   

    printf("p2의 좌표 : %d, %d\n", p2.x, p2.y);

 

    return 0;

}

 

 

************************************************************************

/* Ex10_01.c */

#include <stdio.h>

 

void Swap(int x, int y);

 

int main(void)

{

    int a = 10;

    int b = 20;

 

    printf("Swap 전의 a = %d, b = %d\n", a, b);

 

    Swap(a, b);

 

    printf("Swap 후의 a = %d, b = %d\n", a, b);

 

    return 0;

}

 

void Swap(int x, int y)

{

    int temp;

 

    temp = x;

    x = y;

    y = temp;

}

 

 

************************************************************************

/* Ex10_02.c */

#include <stdio.h>

 

void Swap(int *x, int *y);

 

int main(void)

{

    int a = 10;

    int b = 20;

 

    printf("Swap 전의 a = %d, b = %d\n", a, b);

 

    Swap(&a, &b);

 

    printf("Swap 후의 a = %d, b = %d\n", a, b);

 

    return 0;

}

 

void Swap(int *x, int *y)

{

    int temp;

 

    temp = *x;

    *x = *y;

    *y = temp;

}

 

 

************************************************************************

/* Ex10_03.c */

#include <stdio.h>

 

void GetSumProduct(int x, int y, int *sum, int *product);

 

int main(void)

{

    int a = 5, b = 8;

    int res1, res2;

 

    GetSumProduct(a, b, &res1, &res2);

 

    printf("%d + %d = %d\n", a, b, res1);

    printf("%d + %d = %d\n", a, b, res2);

 

    return 0;

}

 

void GetSumProduct(int x, int y, int *sum, int *product)

{

    *sum = x + y;

    *product = x * y;

}

 

 

 

************************************************************************

/* Ex10_04.c */

#include <stdio.h>

 

void PrintArray(int *arr, int size);

int GetSumOfArray(int *arr, int size);

 

int main(void)

{

    int x[5] = {10, 20, 30, 40, 50};

    int y[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

 

    printf("x 배열 : ");

    PrintArray(x, 5);

    printf("합계 : %d\n\n", GetSumOfArray(x, 5));

    

    printf("y 배열 : ");

    PrintArray(y, 10);

    printf("합계 : %d\n\n", GetSumOfArray(y, 10));

 

    printf("y 배열의 일부분 : ");

    PrintArray(y+2, 5);

    printf("합계 : %d\n\n", GetSumOfArray(y+2, 5));

 

    return 0;

}

 

void PrintArray(int *arr, int size)

{

    int i;

 

    for(i = 0 ; i < size ; i++)

        printf("%d ", arr[i]);

    printf("\n");

}

 

int GetSumOfArray(int *arr, int size)

{

    int i;

    int total;

 

    for(i = 0, total = 0 ; i < size ; i++)

        total += arr[i];

 

    return total;

}      

 

 

 

************************************************************************

/* Ex10_05.c */

#include <stdio.h>

 

void PrintArray(const int *arr, int size);

void SortArray(int *arr, int size);

 

int main(void)

{

    int x[5] = {43, 6, 24, 88, 34};

    int y[10] = {12, 35, 7, 45, 78, 22, 98, 77, 1, 28};

 

    printf("x 배열 : ");

    PrintArray(x, 5);

    SortArray(x, 5);

    printf("정렬후 : ");

    PrintArray(x, 5);

    

    printf("y 배열 : ");

    PrintArray(y, 10);

    SortArray(y, 10);

    printf("정렬후 : ");

    PrintArray(y, 10);

 

    return 0;

}

 

void PrintArray(const int *arr, int size)

{

    int i;

 

    //arr[0] = 100;

    for(i = 0 ; i < size ; i++)

        printf("%d ", arr[i]);

    printf("\n");

}

 

void SortArray(int *arr, int size)

{

    int i, j, index;

    int temp;

 

    for(i = 0; i < size-1 ; i++)

    {

        index = i;  

        for(j = i+1 ; j < size ; j++)

        {

            if( arr[index] > arr[j] )

                index = j;

        }

        temp       = arr[i];

        arr[i]     = arr[index];

        arr[index] = temp;

    }

}      

 

 

 

************************************************************************

/* Ex10_06.c */

#include <stdio.h>

 

typedef struct point {

    int x;

    int y;

} POINT;

 

void PrintPoint(POINT *p);

 

int main(void)

{

    POINT p1 = {100, 200};

    PrintPoint(&p1);

 

    return 0;

}

 

void PrintPoint(POINT *p)

{

    printf("(%d, %d)\n", p->x, p->y);

}

 

 

 

************************************************************************

/* Ex10_07.c */

#include <stdio.h>

 

typedef struct point {

    int x;

    int y;

} POINT;

 

void PrintPoint(const POINT *p);

void MovePoint(POINT *p, int dx, int dy);

 

int main(void)

{

    POINT p1 = {100, 200};

    POINT p2 = {300, 400};

 

    printf("p1의 좌표: ");

    PrintPoint(&p1);

    printf("p2의 좌표: ");

    PrintPoint(&p2);

 

    MovePoint(&p1, 10, 10);

 

    printf("변경된 p1의 좌표: ");

    PrintPoint(&p1);

 

    return 0;

}

 

void PrintPoint(const POINT *p)

{

    //p->x = 100;

    printf("(%d, %d)\n", p->x, p->y);

}

 

void MovePoint(POINT *p, int dx, int dy)

{

    p->x += dx;

    p->y += dy;

}

 

 

 

************************************************************************

/* Ex10_08.c */

#include <stdio.h>

 

int GetFactorial(int n);

 

int main(void)

{

    int num;

 

    printf("정수를 입력하세요 : ");

    scanf("%d", &num);

 

    printf("%d! = %d\n", num, GetFactorial(num));

 

    return 0;

}

 

int GetFactorial(int n)

    if( n <= 1 )

        return 1;

 

    return n * GetFactorial(n-1);

}

 

 

************************************************************************

/* Ex10_09.c */

#include <stdio.h>

 

void TestStatic(void);

 

int main(void)

{

    int i;

  

    for(i = 0 ; i < 5 ; i++)

        TestStatic();

 

    return 0;

}

 

void TestStatic(void)

{

    int num = 0;

    static int count = 0;

 

    printf("num = %d, ", ++num);

    printf("count = %d\n" , ++count);

}

 

 

************************************************************************

/* Ex10_10.c */

#include <stdio.h>

#include <string.h>

 

char* Reverse(const char *str);

 

int main(void)

{

    char s1[] = "abc";

    char *res = NULL;

 

    res  = Reverse(s1);

    printf("res = %s\n", res);

 

    return 0;

}

 

char* Reverse(const char *str)

{

    char result[80];

    int i;

    int len = strlen(str);

 

    for( i = 0 ; i < len ; i ++)

        result[i] = str[len - i - 1];

    result[i] = '\0';

 

    return result;

}

 

 

 

************************************************************************

/* Ex10_11.c */

#include <stdio.h>

#include <string.h>

 

char* Reverse(const char *str);

 

int main(void)

{

    char s1[] = "abc";

    char *res = NULL;

 

    res  = Reverse(s1);

    printf("res = %s\n", res);

 

    return 0;

}

 

char* Reverse(const char *str)

{

    static char result[80];

    int i;

    int len = strlen(str);

 

    for( i = 0 ; i < len ; i ++)

        result[i] = str[len - i - 1];

    result[i] = '\0';

 

    return result;

}

 

 

 

************************************************************************

/* Ex11_01.c */

#include <stdio.h>

 

int main(void)

{

    int a=10, b=20, c=30, d=40, e=50;

    int* arr[5] = {&a, &b, &c, &d, &e};

    int i;

 

    for( i = 0 ; i < 5 ; i++ )

        printf("%d ", *arr[i]);

    printf("\n");

    

    return 0;

}

 

 

 

************************************************************************

/* Ex11_02.c */

#include <stdio.h>

 

int main(void)

{

    int x[3] = {1, 2, 3};

    int y[3] = {4, 5, 6};

    int z[3] = {7, 8, 9};

    int* arr[3] = {x, y, z};

    int i, j;

 

    for( i = 0 ; i < 3 ; i++ )

    {

        for( j = 0 ; j < 3 ; j++)

            printf("%d ", arr[i][j]);

        printf("\n");

    }

    

    return 0;

}

 

 

 

************************************************************************

/* Ex11_03.c */

#include <stdio.h>

 

typedef struct student {

    char name[20];

    int korean, english, math;

    double average;

} STUDENT;

 

int main(void)

{

    STUDENT s1 = {"김모모", 100, 100, 100, 0.0};

    STUDENT s2 = {"박나나", 90, 80, 88, 0.0};

    STUDENT s3 = {"이만수", 45, 32, 44, 0.0};

    STUDENT* std[] = {&s1, &s2, &s3};

 

    int num = sizeof(std) / sizeof(std[0]);

    int i;

 

    for( i = 0 ; i < num ; i++ )

        std[i]->average = (double)(std[i]->korean + 

            std[i]->english + std[i]->math) / 3;

 

    for( i = 0 ; i < num ; i++ )

        printf("%s %6.2f\n", std[i]->name, std[i]->average);

 

    return 0;

}

 

 

 

************************************************************************

/* Ex11_04.c */

#include <stdio.h>

 

int main(void)

{

    int arr[5] = {10, 20, 30, 40, 50};

    int (*p)[5] = &arr;

    int i;

 

    for( i = 0 ; i < 5 ; i++ )

        printf("%d ", (*p)[i]); // p[0][i], *((*p)+i)

    printf("\n");

 

    return 0;

}

 

 

 

************************************************************************

/* Ex11_05.c */

#include <stdio.h>

 

int main(void)

{

    int arr[3][5] = { 

        { 1,  2,  3,  4,  5},

        { 6,  7,  8,  9, 10},

        {11, 12, 13, 14, 15}

    };

 

    int (*p)[5] = arr;

 

    int i, j;

 

    for( i = 0 ; i < 3 ; i++)

    {

        for( j = 0 ; j < 5 ; j++ )

            printf("%2d ", p[i][j]);

        printf("\n");

    }

 

    return 0;

}

 

 

 

************************************************************************

/* Ex11_06.c */

#include <stdio.h>

 

int main(void)

{

    int x[5];

    int *p1 = x;

 

    int y[2][3];

    int (*p2)[3] = y;

 

    printf("p1 = %p, p2 = %p\n", p1, p2);

 

    p1++;

    p2++;

 

    printf("p1 = %p, p2 = %p\n", p1, p2);

 

    return 0;

}

 

 

 

************************************************************************

/* Ex11_07.c */

#include <stdio.h>

 

int GetFactorial(int n);

double Add(double x, double y);

 

int main(void)

{

    int (*pFunc)(int n) = &GetFactorial;

    double (*pf)(double, double) = Add;

    int num;

 

    printf("정수를 입력하세요 : ");

    scanf("%d", &num);

    printf("%d ! = %d\n", num, (*pFunc)(num));

 

    printf("0.5 + 1.3 = %f\n", pf(0.5, 1.3));

 

    return 0;

}

 

int GetFactorial(int n)

{

    int fact;

    int i;

 

    for( i = 1, fact = 1 ; i <= n ; i++ )

        fact *= i;

 

    return fact;

}

 

double Add(double x, double y)

{

    return x + y;

}

 

 

************************************************************************

/* Ex11_08.c */

#include <stdio.h>

#include <stdlib.h>

 

int Compare(const void *e1, const void *e2);

void PrintArray(const int* arr, int size);

 

int main()

{

    int x[10] = {34, 50, 5, 17, 82, 66, 73, 1, 48, 29};

 

    printf("정렬 전 : ");

    PrintArray(x, 10);

 

    qsort(x, 10, sizeof(int), Compare);

 

    printf("정렬 후 : ");

    PrintArray(x, 10);

 

    return 0;

}

 

int Compare(const void *e1, const void *e2) 

{

    int *p1 = (int*) e1;

    int *p2 = (int*) e2;

    return (*p1 - *p2);     // 오름차순 정렬

    //return -(*p1 - *p2); // 내림차순 정렬

}

 

void PrintArray(const int* arr, int size)

{

    int i;

 

    for( i = 0 ; i < size ; i++ )

        printf("%d ", arr[i]);

    printf("\n");

}

 

 

************************************************************************

/* Ex11_09.c */

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

 

typedef struct student {

    char name[20];

    double ave;

} STUDENT;

 

int CompareByName(const void *e1, const void *e2);

int CompareByAve(const void *e1, const void *e2);

void PrintStudent(const STUDENT* std, int num);

 

int main()

{

    STUDENT std[5] = {

        {"이모모", 58.5},

        {"박모모", 73.9},

        {"김모모", 87.2},

        {"최모모", 96.6},

        {"나모모", 34.3},

    };

 

    printf("*** 정렬 전 ***\n");

    PrintStudent(std, 5);

 

    qsort(std, 5, sizeof(STUDENT), CompareByName);

 

    printf("*** 이름 순 정렬 ***\n");

    PrintStudent(std, 5);

 

    qsort(std, 5, sizeof(STUDENT), CompareByAve);

 

    printf("*** 평균 순 정렬 ***\n");

    PrintStudent(std, 5);

 

    return 0;

}

 

int CompareByName(const void *e1, const void *e2) 

{

    STUDENT *p1 = (STUDENT *) e1;

    STUDENT *p2 = (STUDENT *) e2;

    return strcmp(p1->name, p2->name);

}

 

int CompareByAve(const void *e1, const void *e2) 

{

    STUDENT *p1 = (STUDENT *) e1;

    STUDENT *p2 = (STUDENT *) e2;

    double temp = p1->ave - p2->ave;

    if( temp == 0 )

        return 0;

if( temp > 0 )

        return 1;

    return -1;

}

 

void PrintStudent(const STUDENT* std, int num)

{

    int i;

    for( i = 0 ; i < 5 ; i++ )

        printf("%-10s %5.1f\n", std[i].name, std[i].ave);

    printf("\n");

}

 

 

 

************************************************************************

/* Ex11_09.c */

#include <stdio.h>

#include <stdlib.h>

 

int main()

{

    int size;

    int *arr = NULL;

    int sum = 0;

    double average = 0.0;

    int i;

 

    printf("몇 개의 정수를 입력하시겠습니까? : ");

    scanf("%d", &size);

 

    arr = malloc(sizeof(int)*size);

    if( arr == NULL )

    {

        printf("동적 메모리 할당 실패\n");

        return -1;

    }

 

    printf("%d개의 정수를 입력하세요 : ", size);

    for( i = 0 ; i < size ; i++ )

        scanf("%d", &arr[i]);

 

    for( i = 0 ; i < size ; i++ )

        sum += arr[i];

 

    average = (double)sum / (double)size;

 

    printf("합계 : %d, 평균 : %f\n", sum, average);

 

    free(arr);

    arr = NULL;

 

    return 0;

}

 

 

************************************************************************

/* Ex11_11.c */

#include <stdio.h>

#include <stdlib.h>

 

typedef struct rect {

    int x, y;

    int width, height;

} RECT;

 

int main(void)

{

    RECT *arr[100] = {NULL};

    int count = 0;

    int i;

 

    while(1)

    {

        char choice;

        printf("직사각형을 만들겠습니까? (Y/N) : ");

        scanf("%c", &choice);

        fflush(stdin);

        if( toupper(choice) == 'N' )

            break;

 

        arr[count] = malloc(sizeof(RECT));

        arr[count]->x = rand()%400;

        arr[count]->y = rand()%400;

        arr[count]->width = rand()%100;

        arr[count]->height = rand()%100;

        count++;

    }

    printf("%d개의 직사각형이 만들어졌습니다.\n", count);

 

    for(i = 0 ; i < count ; i++) 

    {

        printf("%d번째 직사각형 : (%3d,%3d) w=%3d, h=%3d\n",

            i+1, arr[i]->x, arr[i]->y, arr[i]->width, arr[i]->height);

    }

 

    for(i = 0 ; i < count ; i++)

    {

        free(arr[i]);

        arr[i] = NULL;

    }

 

    return 0;

}

 

 

 

 

************************************************************************

/* Ex12_01.c */

#include <stdio.h>

 

#define SQUARE(n) n*n

 

int square(int n)

{

    return n*n;

}

 

int main(void)

{

    int result = SQUARE(3);

    printf("3의 제곱 : %d\n", result);

 

    result = SQUARE(1+2);

    printf("SQUARE(1+2) = %d\n", result);

 

    result = square(1+2);

    printf("square(1+2) = %d\n", result);

 

    printf("SQUARE(2.5) = %f\n", SQUARE(2.5));

    printf("square(2.5) = %d\n", square(2.5));

 

    return 0;

}

 

 

 

************************************************************************

/* Ex12_02.c */

#include <stdio.h>

 

#define PRINT1(x)  printf("x = %d\n", x)

#define PRINT2(x)  printf(#x" = %d\n", x)

 

#define MAKE_FUNC(name) void fn##name(void) \

{\

    printf("fn"#name" 호출\n"); \

}

 

MAKE_FUNC(test1)

MAKE_FUNC(test2)

 

int main(void)

{

    int num = 10;

    PRINT1(num);

    PRINT2(num);

 

    fntest1();

    fntest2();

 

    return 0;

}

 

 

 

************************************************************************

/* Ex12_03.c */

#include <stdio.h>

 

#define DEBUG

 

int GetFactorial(int n);

 

int main(void)

{

    int result;

 

    result = GetFactorial(5);

 

    printf("result = %d\n", result);

 

    return 0;

}

 

int GetFactorial(int n)

{

#ifdef DEBUG

    printf("GetFactorial 함수 호출 : ");

    printf("n = %d\n", n);

#endif

 

    if( n <= 1 )

        return 1;

    return n * GetFactorial(n - 1);

}

 

 

 

************************************************************************

/* Array.c */

#include <stdio.h>

#include "Array.h"

 

void PrintArray(const int *arr, int size)

{

    int i;

 

    //arr[0] = 100;

    for(i = 0 ; i < size ; i++)

        printf("%d ", arr[i]);

    printf("\n");

}

 

int GetSumOfArray(int *arr, int size)

{

    int i;

    int total;

 

    for(i = 0, total = 0 ; i < size ; i++)

        total += arr[i];

 

    return total;

}

 

void SortArray(int *arr, int size)

{

    int i, j, index;

    int temp;

 

    for(i = 0; i < size-1 ; i++)

    {

        index = i;  

        for(j = i+1 ; j < size ; j++)

        {

            if( arr[index] > arr[j] )

                index = j;

        }

        temp       = arr[i];

        arr[i]     = arr[index];

        arr[index] = temp;

    }

}

 

 

************************************************************************

/* Main.c */

#include <stdio.h>

//#include "Array.h"

 

int main(void)

{

    int x[5] = {43, 6, 24, 88, 34};

    int y[10] = {12, 35, 7, 45, 78, 22, 98, 77, 1, 28};

 

    printf("x 배열 : ");

    PrintArray(x, 5);

    printf("합계 : %d\n\n", GetSumOfArray(x, 5));

    

    printf("y 배열 : ");

    PrintArray(y, 10);

    SortArray(y, 10);

    printf("정렬후 : ");

    PrintArray(y, 10);

 

    return 0;

}

 

 

 

************************************************************************

/* Main.c */

#include <stdio.h>

#include "Array.h"

 

int main(void)

{

    int x[5] = {43, 6, 24, 88, 34};

    int y[10] = {12, 35, 7, 45, 78, 22, 98, 77, 1, 28};

 

    printf("x 배열 : ");

    PrintArray(x, 5);

    printf("합계 : %d\n\n", GetSumOfArray(x, 5));

    

    printf("y 배열 : ");

    PrintArray(y, 10);

    SortArray(y, 10);

    printf("정렬후 : ");

    PrintArray(y, 10);

 

    return 0;

}

 

 

 

************************************************************************

/* Main.c */

#include <stdio.h>

#include "Point.h"

 

int main(void)

{

    POINT p1 = {0, 0};

    POINT p2 = {300, 400};

 

    printf("p1 = ");

    PrintPoint(&p1);

    printf("p2 = ");

    PrintPoint(&p2);

 

    printf("두 점 사이의 거리 : %f\n", GetDistance(&p1, &p2));

 

    MovePoint(&p2, 10, 10);

    printf("MovePoint 호출 후 p2 = ");

    PrintPoint(&p2);

 

    return 0;

}

 

 

 

 

************************************************************************

/* Point.c */

#include <stdio.h>

#include <math.h>

#include "Point.h"

 

void PrintPoint(const POINT *p)

{

    printf("(%d, %d)\n", p->x, p->y);

}

 

void MovePoint(POINT *p, int dx, int dy)

{

    p->x += dx;

    p->y += dy;

}

 

double GetDistance(const POINT *p1, const POINT *p2)

{

    int dx = p2->x - p1->x;

    int dy = p2->y - p1->y;

    return sqrt(dx*dx+dy*dy);

}

 

 

************************************************************************

/* Main.c */

#include <stdio.h>

#include "Point.h"

 

int main(void)

{

    POINT p1 = {10, 10};

    POINT p2 = {40, 50};

 

    printf("p1 = ");

    PrintPoint(&p1);

    printf("p2 = ");

    PrintPoint(&p2);

 

    printf("두 점 사이의 거리 : %f\n", GetDistance(&p1, &p2));

 

    printf("원점과 p2 사이의 거리 : %f\n", 

        GetDistance(&g_origin, &p2));

 

    return 0;

}

 

 

 

 

************************************************************************

/* Point.c */

#include <stdio.h>

#include <math.h>

#include "Point.h"

 

POINT g_origin;

 

void PrintPoint(const POINT *p)

{

    printf("(%d, %d)\n", p->x, p->y);

}

 

void MovePoint(POINT *p, int dx, int dy)

{

    p->x += dx;

    p->y += dy;

}

 

double GetDistance(const POINT *p1, const POINT *p2)

{

    int dx = p2->x - p1->x;

    int dy = p2->y - p1->y;

    return sqrt(dx*dx+dy*dy);

}

 

void SetOrigin(int x, int y)

{

    g_origin.x = x;

    g_origin.y = y;

}

 

 

************************************************************************

/* Main.c */

#include <stdio.h>

#include "Point.h"

#include "Point.h"

 

int main(void)

{

    POINT p1 = {10, 10};

    POINT p2 = {40, 50};

 

    printf("p1 = ");

    PrintPoint(&p1);

    printf("p2 = ");

    PrintPoint(&p2);

 

    printf("두 점 사이의 거리 : %f\n", GetDistance(&p1, &p2));

 

    printf("원점과 p2 사이의 거리 : %f\n", 

        GetDistance(&g_origin, &p2));

 

    return 0;

}

 

 

 

 

************************************************************************

/* Point.c */

#include <stdio.h>

#include <math.h>

#include "Point.h"

 

POINT g_origin;

 

void PrintPoint(const POINT *p)

{

    printf("(%d, %d)\n", p->x, p->y);

}

 

void MovePoint(POINT *p, int dx, int dy)

{

    p->x += dx;

    p->y += dy;

}

 

double GetDistance(const POINT *p1, const POINT *p2)

{

    int dx = p2->x - p1->x;

    int dy = p2->y - p1->y;

    return sqrt(dx*dx+dy*dy);

}

 

void SetOrigin(int x, int y)

{

    g_origin.x = x;

    g_origin.y = y;

}

 

 

************************************************************************

/* Ex12_08.c */

#include <stdio.h>

 

int main(int argc, char* argv[])

{

    int i;

 

    for( i = 0 ; i < argc ; i++ )

        printf("argv[%d] = %s\n", i, argv[i]);

 

    return 0;

}

 

 

************************************************************************

/* Ex12_09.c */

#include <stdio.h>

#include <stdlib.h>

 

int main(int argc, char* argv[])

{

    int lhs, rhs;

    char op;

 

    if( argc < 4 )

    {

        printf("Usage : Calc value1 op value2\n");

        return -1;

    }

 

    lhs = atoi(argv[1]);

    op = argv[2][0];

    rhs = atoi(argv[3]);

 

    switch( op )

    {

    case '+': 

        printf("%d + %d = %d\n", lhs, rhs, lhs+rhs);  

        break;

    case '-': 

        printf("%d - %d = %d\n", lhs, rhs, lhs-rhs);  

        break;

    case '*': 

        printf("%d * %d = %d\n", lhs, rhs, lhs*rhs);  

        break;

    case '/': 

        printf("%d / %d = %d\n", lhs, rhs, lhs/rhs);  

        break;

    default : 

        printf("잘 못 입력하셨습니다.\n"); 

        break;

    }

 

    return 0;

}

 

 

************************************************************************

/* Ex13_01.c */

#include <stdio.h>

 

int main(void)

{

    int a, b;

    char op;

 

    while ( 1 )

    {

        printf("수식을 입력하세요 (0 0 0 입력시 종료) : ");

        if( scanf("%d %c %d", &a, &op, &b) < 3 )

        {

            printf("잘못 입력하셨습니다.\n"

                   "<정수> <연산자> <정수>의 순으로 입력하세요.\n");

            continue;

        }

 

        if( a == 0 && op == '0' && b == 0 )

            break;

 

        switch ( op )

        {

        case '+':

            printf("%d + %d = %d\n", a, b, a + b);

            break;

        case '-':

            printf("%d - %d = %d\n", a, b, a - b);

            break;

        case '*':

            printf("%d * %d = %d\n", a, b, a * b);

            break;

        case '/':

            printf("%d / %d = %d\n", a, b, a / b);

            break;

        default:

            printf("잘못된 연산자입니다.\n");

            continue;

        }

 

    }

 

    return 0;

}

 

 

 

************************************************************************

/* Ex13_02.c */

#include <stdio.h>

 

int main(int argc, char *argv[])

{

    FILE *fp1, *fp2;

    char ch;

 

    if( argc < 3 )

    {

        printf("Usage: FCopy src_file dest_file\n");

        return -1;

    }

 

    fp1 = fopen(argv[1], "r");

    if( fp1 == NULL )

    {

        printf("%s 파일 열기 실패\n", argv[1]);

        return -1;

    }

 

    fp2 = fopen(argv[2], "w");

    if( fp2 == NULL )

    {

        printf("%s 파일 열기 실패\n", argv[2]);

        return -1;

    }

 

    while( (ch = fgetc(fp1)) != EOF )

        fputc(ch, fp2);

 

    fclose(fp1);

    fclose(fp2);

 

    return 0;

}

 

 

************************************************************************

/* Ex13_03.c */

#include <stdio.h>

 

#define MAX_BUF 100

 

int main(int argc, char *argv[])

{

    FILE *fp1, *fp2;

    char buffer[MAX_BUF];

 

    if( argc < 3 )

    {

        printf("Usage: FCopy src_file dest_file\n");

        return -1;

    }

 

    fp1 = fopen(argv[1], "r");

    if( fp1 == NULL )

    {

        printf("%s 파일 열기 실패\n", argv[1]);

        return -1;

    }

 

    fp2 = fopen(argv[2], "w");

    if( fp2 == NULL )

    {

        printf("%s 파일 열기 실패\n", argv[2]);

        return -1;

    }

 

    while( fgets(buffer, MAX_BUF, fp1) != NULL )

        fputs(buffer, fp2);

 

    fclose(fp1);

    fclose(fp2);

 

    return 0;

}

 

 

************************************************************************

/* Ex13_04.c */

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

 

#define MAX_STUDENT 5

 

typedef struct student {

    char name[20];

    int korean, english, math;

    double average;

} STUDENT;

 

int main()

{

    STUDENT std[MAX_STUDENT];

    int i;

    FILE *fp = NULL;

 

    for( i = 0 ; i < MAX_STUDENT ; i++ )

    {

        printf("학생 정보를 입력하세요 : ");

        scanf("%s %d %d %d", std[i].name, 

            &std[i].korean, &std[i].english, &std[i].math);

        std[i].average = (double) (std[i].korean 

            + std[i].english + std[i].math)/3;

    }

 

    fp = fopen("report.txt", "w");

    if( fp == NULL )

    {

        printf("파일 열기 실패\n");

        return -1;

    }

 

    for( i = 0 ; i < MAX_STUDENT ; i++ )

    {

        fprintf(fp, "%-10s %3d %3d %3d %6.2f\n", std[i].name,

            std[i].korean, std[i].english, std[i].math, 

            std[i].average);

    }

    

    fclose(fp);

 

    return 0;

}

 

 

 

 

************************************************************************

#include <stdio.h>

#include <stdlib.h>

 

int main(void)

{

    int arr1[10] = { 34, 90, 87, 65, 46, 21, 19, 53, 78, 2 };

    int arr2[10];

    int i;

    FILE *fp;

 

    fp = fopen("test.dat", "wb");

    if( fp == NULL )

    {

        printf("파일 열기 실패\n");

        return -1;

    }

 

    fwrite(arr1, sizeof(int), 10, fp);

    fclose(fp);

 

    fp = fopen("test.dat", "rb");

    if( fp == NULL )

    {

        printf("파일 열기 실패\n");

        return -1;

    }

 

    fread(arr2, sizeof(int), 10, fp);

    fclose(fp);

 

    for( i = 0 ; i < 10 ; i++ )

        printf("%d ", arr2[i]);

    printf("\n");

 

    return 0;

}

 

TOTAL COMMENTS : 0

이 게시물은 댓글을 달 수 없습니다.
10 c#3-03 help@asiagroup.co.kr 2015/08/05 2321
9 C#3-02 help@asiagroup.co.kr 2015/01/12 3893
8 C#3-01 help@asiagroup.co.kr 2014/11/05 4467
7 C#2 help@asiagroup.co.kr 2014/10/23 3219
6 C#1 help@asiagroup.co.kr 2014/03/02 2313
5 C#2 help@asiagroup.co.kr 2012/03/05 3282
4 C#2 help@asiagroup.co.kr 2010/08/05 3568
3 C#1 help@asiagroup.co.kr 2010/08/05 3259
2 C프로그래밍4 ASIAGROUP 2009/08/05 4214
» C프로그래밍 ASIAGROUP 2009/08/05 3204
위로