본문 바로가기

프로그래밍 언어/C언어

누구나 쉽게 즐기는 c언어 콘서트 개정판 14장 programming

SMALL

누구나 쉽게 즐기는 c언어 콘서트 개정판 14장 프로그래밍

1번문제

#include<stdio.h>
#define DEBUG 1
float calc_array_avg(int num[]) {
    float result = 0;
    for (int i = 0; i < 10; i++) {
        result += num[i];
#ifdef DEBUG
        printf("%d을 더하는 중\n", num[i]);
#endif
    }
 
    return result / 10;
}
int main(void) {
    int n[10];
    printf("배열의 평균을 계산합니다.\n");
    printf("calc_array_avg()\n");
    for (int i = 0; i < 10; i++) {
        scanf("%d"&n[i]);
    }
    printf("평균 = %f", calc_array_avg(n));
    
    return 0;
}
cs

 

2번문제

programming14-2.c

#include<stdio.h>
#include"add.h"
 
int main(void) {
    printf("합계=%d" ,add(1020));
 
    return 0;
}
cs

add.h

#ifdef ADD_H
#define ADD_H
 
int add(int x, int y);
#endif
cs

add.c

#include<stdio.h>
 
int add(int x, int y) {
    return x + y;
}
cs

 

3번문제

programming14-3.c

#include<stdio.h>
#include"hello.h"
 
int main(void) {
    hello("철수");
}
cs

hello.h

#ifdef HELLO_H
#defineHELLO_H
void hello(char *name);
#endif 
 
cs

hello.c

#include "hello.h"
#include <stdio.h>
void hello(char *name) {
    printf("안녕 %s",name);
}
cs

 

4번문제

programming14-4

#include<stdio.h>
#include"array.h"
int main(void) {
    int num[10= { 1,2,3,4,5,6,7,8,9,10 };
    int size = sizeof(num);
    print_array(num,size);
    return 0;
}
cs

array.h

#ifdef ARRAY_H
#define ARRAY_H
 
void print_array(int num[],int size);
#endif // ARRAY_H
 
cs

array.c

#include<stdio.h>
#include"array.h"
 
void print_array(int num[],int size) {
    printf("[ ");
    int sum = 0;
    for (int i = 0; i < size / sizeof(int); i++) {
        printf("%d ", num[i]);
        sum += num[i];
    }
    printf("]\n");
    printf("배열 요소들의 합=%d", sum);
}
cs

 

5번문제

#include<stdio.h>
 
int main(int argc, int* argv[]) {
    char str[100];
    FILE *fp1 = fopen(argv[1], "r");
    FILE* fp2 = fopen(argv[2], "w");
    if (fp1 == NULL)
        printf("%s라는 파일은 없습니다.\n", argv[1]);
    int c;
    while ((c = fgetc(fp1))!= EOF) {
        fputc(c, fp2);
    }
    fclose(fp1);
    fclose(fp2);
    return 0;
}
cs
LIST