728x90
문제 11번은 설명 생략하겠습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#pragma warning(disable:4996)
#include <stdio.h>
/*학생 3명의 국어, 영어 성적이 있다.
- 이 자료를 저장하기 위한 2차원 배열을 선언 하시오.
- 학생 별 국어와 영어 성적을 사용자로부터 입력 받으시오.
- 학생 별 국어와 영어 성적의 합을 각각 출력하시오.*/
int main() {
int grade[3][2];
int sum[3] = { 0 };
for(int i=0;i<3;i++){
for(int j=0;j<2;j++){
scanf("%d", &grade[i][j]);
}
}
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 2; j++) {
sum[i]= sum[i]+ grade[i][j];
}
}
for (int i = 0; i < 3; i++) {
printf("%d\n", sum[i]);
}
return 0;
}
|
cs |
또한 설명생략
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
#pragma warning(disable:4996)
#include <stdio.h>
/*숫자에 해당하는 영어 출력하기.*/
int main() {
char x[6][5] =
{
{'Z','E','R','O','-'},
{'O','N','E','-','-'},
{'T','W','O','-','-'},
{'T','H','R','E','E'},
{'F','O','U','R','-'},
{'F','I','V','E','-'},
};
int num[3];
for (int i = 0; i < 3; i++) {
scanf("%d", &num[i]);
}
for (int i = 0; i < 3; i++) {
int j = 0;
if (num[i] == 0) {
while (j < 5) {
printf("%c", x[0][j]);
j++;
}
puts("");
}
else if (num[i] == 1) {
while (j < 5) {
printf("%c", x[1][j]);
j++;
}
puts("");
}
else if (num[i] == 2){
while (j < 5) {
printf("%c", x[2][j]);
j++;
}
puts("");
}
else if (num[i] == 3) {
while (j < 5) {
printf("%c", x[3][j]);
j++;
}
puts("");
}
else if (num[i] == 4) {
while (j < 5) {
printf("%c", x[4][j]);
j++;
}
puts("");
}
else {
while (j < 5)
{
printf("%c", x[5][j]);
j++;
}
puts("");
}
}
return 0;
}
|
cs |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
#pragma warning(disable:4996)
#include <stdio.h>
/* 2차원 배열 x에 3X3 정수로 된 행렬을 입력하시오.
- 2차원 배열 y에 2X2 정수로 된 행렬을 입력하시오.
- x 행렬에서 y 행렬이 어디에 있는지, x에서 y 행렬 시작위치의 행 번호와 열 번호를 출력하시오.
(여러 개 있는 경우 첫 번째 나타나는 y 행렬의 행 과 열 번호를 쓰시오)
- 없는 경우에는 “none”을 출력하시오.*/
int main() {
int x[3][3];
int y[2][2];
int a = 0, b = 0;
int cnt = 0;
// 입력파트
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
scanf("%d", &x[i][j]);
}
}
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
scanf("%d", &y[i][j]);
}
}
// 출력파트
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf(" %d", x[i][j]);
}
puts("");
}
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
printf(" %d", y[i][j]);
}
puts("");
}
for (int p = 0; p < 2; p++) {
for (int q = 0; q < 2; q++) {
a = 0, b = 0;
if(x[p][q] == y[a][b]) {
q++;
b++;
if (x[p][q] == y[a][b]){
p++;
a++;
if (x[p][q] == y[a][b]) {
q--;
b--;
if (x[p][q] == y[a][b]&&cnt==0) {
printf("%d %d", p - 1, q);
cnt++;
}
}
}
}
}
}
if (cnt == 0) printf("none");
return 0 ;
}
|
cs |
배열 3x3과 2x2의 크기가 정해져있어서 풀은 것이다.
만약 배열의 n1 x n1 과 n2 x n2 를 입력받고 배열 n1에서 n2를 발견하는 것이라면 못풀었을것같다..
728x90
'지난 학기들의 기록 > C 기초' 카테고리의 다른 글
[C실습] 배열 유형 분석 2- N개의 정수배열에서 M개의 칸씩 위치옮기기 (0) | 2020.05.31 |
---|---|
[C실습] 배열 유형 분석 1- N개의 정수배열에서 M개씩 그룹지어 비교하기(+추가) (2) | 2020.05.31 |
[C언어] 범위가 지정된 난수생성 : a~b 범위의 난수를 생성하라 (0) | 2020.05.11 |
[C실습]소수와 다음 소수 출력하기 (0) | 2020.05.10 |
[C실습] 두번째로 빠른 문자 출력하기 (1) | 2020.05.10 |
댓글