본문 바로가기
IT/프로그래밍

쉽게 풀어 쓴 C언어 Express 10장 Exercise 문제

by nutrient 2020. 12. 6.
728x90
728x170

 

쉽게 풀어 쓴 C언어 Express 10장 Exercise 문제

 

1. (2)

 

 

2. (3)

 

3. (3), (4)

 

 

4. (1)

 

5. (4)

6.

#define MAX_SIZE 4

int main(void) {

int a[MAX_SIZE] = {

0, 1, 2, 3
};

int b[4];

int i;

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

b[i]=a[i];

return 0;

}

 

7.

(a)

float grade[3];

float average, sum;

int i;

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

printf("성적을 입력하시오: ");

scanf("%f", &grade[i]);

}

sum = 0.0;

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

sum += grade[i];

}

average = sum /3.0;

 

(b) 

 

float grade[3]= {

10.0, 20.0, 30.0

}

;

float average, sum;

int i;

sum = 0.0;

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

sum += grade[i];

}

average = sum /3.0;

 

(c)

 // 함수 버전

float get_average(float a[], int n);

int main(void) {

float grade[3]= {

10.0, 20.0, 30.0

}

;

get_average(grade, 3);

return 0;

}

float get_average(float a[], int n) {

float average, sum;

int i;

sum = 0.0;

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

sum += a[i];

}

average = sum /3.0;

}

 

 

(d)

void get_freq(float s[], int freq[], int n);

int main(void) {

float grade[3] = {

10.0, 20.0, 30.0

}

;

int freq[10]= {

0

}

;

get_freq(grade, freq, 3);

return 0;

}

void get_freq(float score[], int f[10], int n) {

int i, range;

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

range = score[i]/10;

f[range]++;

}

}

 

8.

(a) 2차원 배열을 전달하는 경우에 첫 번째 인덱스의 크기만 생략이 가능하다.

int main(void) {

int grade[10][60];

compute_avg(grade);

}

int compute_avg(int array[ ][60]) {

...

}

 

(b) 배열 원소인 경우에는 주소를 보내주어야 한다.

float test[10];

scanf("%f", &test[0]);

 

(c)

int main(void) {

int x, y;

int test[10][5];

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

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

test[x][y] = 0;

return 0;

}

 

728x90
그리드형

댓글