열혈 C프로그래밍 16-1
2020. 1. 29. 02:14ㆍ프로그래밍/C
문제 1.
가로의 길이가 9, 세로의 길이가 3인 int형 2차원 배열을 선언하여
구구단 중 2~4단을 저장하고 출력하자
void Ex_16_1() {
int arr[3][9];
int row = sizeof(arr) / sizeof(arr[0]);
int col = sizeof(arr) / row / sizeof(arr[0][0]);
int i, j;
for (i = 0; i < row; i++) {
for (j = 0; j < col; j++) {
arr[i][j] = (i+2) * (j+1);
}
}
for (i = 0; i < row; i++) {
for (j = 0; j < col; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
}
문제2.
배열 A[2][4] 와 배열 B[4][2]를 선언하자
배열 A에는 {1, 2, 3, 4, 5, 6, 7, 8} 을 초기화 하고 배열 B에는 {1, 5, 2, 6, 3, 7, 4, 8} 과 같이 초기화 하되
배열 A에 지정된 값을 이용해 초기화한다.
void Ex_16_2() {
int arr1[2][4] = { 1, 2, 3, 4, 5, 6, 7, 8 };
int arr2[4][2];
int i, j;
for (i = 0; i < 2; i++) {
for (j = 0; j < 4; j++) {
arr2[j][i] = arr1[i][j];
}
}
//출력
for (j = 0; j < 4; j++) {
for (i = 0; i < 2; i++) {
printf("%d ", arr2[j][i]);
}
printf("\n");
}
}
문제 3.
성적관리 프로그램을 작성하자. 과목은 국어, 영어, 수학, 국사 이렇게 4과목이고
학생은 네 사람이다. 네 사람의 점수를 입력 받고 미리 선언해 놓은 배열 arr[5][5] 에
총점[i][5] 과 과목별 총점[5][i] 을 계산하여 배열에 저장하고 출력하자.
void Ex_16_3() {
int arr[5][5];
int subject_sum, total;
int i, j;
int row = sizeof(arr) / sizeof(arr[0]);
int col = sizeof(arr) / row / sizeof(arr[0][0]);
//성적입력
for (i = 0; i < row-1; i++) {
printf("학생 [%d] 국어 영어 수학 국사 순으로 입력: ", i+1);
for (j = 0; j < col-1; j++) {
scanf("%d", &arr[i][j]);
}
}
//학생별 총점
for (i = 0; i < row-1; i++) {
total = 0;
for (j = 0; j < col-1; j++) {
total += arr[i][j];
}
arr[i][4] = total;
}
//과목별 총점
for (i = 0; i < row-1; i++) {
subject_sum = 0;
for (j = 0; j < col-1; j++) {
subject_sum += arr[i][j];
}
arr[4][i] = subject_sum;
}
//출력
for (i = 0; i < row; i++) {
for (j = 0; j < col; j++) {
printf("%3d ", arr[i][j]);
}
printf("\n");
}
}
'프로그래밍 > C' 카테고리의 다른 글
로또 발생기 (0) | 2020.01.29 |
---|---|
열혈 C프로그래밍 17-1[이중 포인터 변수의 활용] (0) | 2020.01.29 |
열혈 C프로그래밍 14-1 (0) | 2020.01.21 |
Call By value 와 Call By reference (0) | 2020.01.21 |
연습문제 (0) | 2020.01.21 |