쉽게 풀어쓴 C언어 EXPRESS(개정 3판) - Chapter 10-2

6.

#include <stdio.h>

int main(void) {

int i, j, sum;

int data[3][5] = { {
12, 56, 32, 16, 98
}
, {
99, 56, 34, 41, 3
}
, {
65, 3, 87, 78, 21
}
}
;

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

sum = 0;

for (j = 0; j < 5; j++)
sum += data[i][j];

printf("%d행의 합계: %d\n", i, sum);
}

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

sum = 0;

for (i = 0; i < 3; i++)
sum += data[i][j];

printf("%d열의 합계: %d\n", j, sum);
}
return 0;
}

7.

#include <stdio.h>

int main(void) {

int list[3][10] = {
0
}
;

int value, i;

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

list[0][i] = i;
list[1][i] = i * i;
list[2][i] = i * i * i;
}

printf("정수를 입력하시오:");
scanf("%d", &value);

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

if (value == list[2][i])
printf("%d의 세제곱근은 %d\n", value, i);
}
return 0;
}

8.

#include <stdio.h>

#define N_DATA 10

void get_data(double data[]);
double get_mean(double data[]);
double get_std_dev(double data[], double mean);

int main(void) {

double data[20];
double mean;

get_data(data);
mean = get_mean(data);

printf("평균값은 %f\n", mean);
printf("표준편차값은 %f\n", get_std_dev(data, mean));
return 0;
}

void get_data(double data[]) {

int i;

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

printf("데이터를 입력하시오:");
scanf("%lf", &data[i]);
}
}

double get_mean(double data[]) {

int i;
double sum = 0.0;

for (i = 0; i < N_DATA; i++) {
sum += data[i];
}

return sum / N_DATA;
}

double get_std_dev(double data[], double mean) {

int i;
double sum = 0.0;

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

sum += (data[i] - mean) * (data[i] - mean);
}
return sum / N_DATA;
}

9.

#include <stdio.h>

void get_stat_per_test(int score[][3]) {

int i, k, min, max, sum;

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

min = max = score[0][k];
sum = 0;

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

if (score[i][k] < min) 
min = score[i][k];
if (score[i][k] > min) 
max = score[i][k];

sum += score[i][k];
}
printf("최대점수=%d\n", max);
printf("최저점수=%d\n", min);
}
}

int main(void) {

int i, k;
int score[10][3];

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

for (k = 0; k < 3; k++) {
score[i][k] = rand() % 100 + 1;
}
}
get_stat_per_test(score);
return 0;
}

10.

(a)

#include <stdio.h>

void vector_add(double x[], double y[], double z[]);

int main(void) {

double x[3] = {
1.0, 2.0, 3.0
}
;

double y[3] = {
1.0, 2.0, 3.0
}
;

double z[3];

vector_add(x, y, z);
return 0;
}

void vector_add(double x[], double y[], double z[]) {

z[0] = x[0] + y[0];
z[1] = x[1] + y[1];
z[2] = x[2] + y[2];
}

(b)

#include <stdio.h>

double vector_dotp(double x[], double y[]);

int main(void) {

double x[3] = {
1.0, 2.0, 3.0
}
;

double y[3] = {
1.0, 2.0, 3.0
}
;

double value;

value = vector_dotp(x, y);

printf("%f\n", value);
return 0;
}

double vector_dotp(double x[], double y[]) {

int i;
double result;

result = 0.0;

for (i = 0; i < 3; i++)
result += x[i] * y[i];

return result;
}

댓글

이 블로그의 인기 게시물

쉽게 풀어쓴 C언어 EXPRESS(개정 3판) - Chapter 10-3

쉽게 풀어쓴 C언어 EXPRESS(개정 3판) - Chapter 16-1

쉽게 풀어쓴 C언어 EXPRESS(개정 3판) - Chapter 13-2