728x90
반응형
겁나 쉬운 평균구하기 🍭
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
|
#include<stdio.h>
#include<limits.h>
int main() {
//국어,영어
//1차원 배열로 푸는 방법
//가장 평균이 큰 애 출력
//50,75 45,60 40,90
int S1[2] = { 50,75 };
int S2[2] = { 45,80 };
int S3[2] = { 40,90 };
float Avg[3];
Avg[0] = (S1[0] + S1[1]) / 2;
Avg[1] = (S2[0] + S2[1]) / 2;
Avg[2] = (S3[0] + S3[1]) / 2;
float max = 0;
for (int i = 0; i < 3; i++) {
if (max < Avg[i]) {
max = Avg[i];
}
}
printf("%.2f\n", max);
//2차원 배열로 풀기
int arr[3][2] = {
{50,75},
{45,80},
{40,90}
};
float Avg2[3] = { 0, };
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 2; j++) {
Avg2[i] += arr[i][j];
}
Avg2[i] /= 2;
}
float max2 = 0;
for (int i = 0; i < 3; i++) {
if (max2 < Avg2[i]) {
max2 = Avg2[i];
}
}
printf("%.2f\n", max2);
}
|
cs |
🥑 정규표현식
입력예시
mark kim
jeno lee
100 100 100
90 90 90
출력 예시
mark kim's average =
jeno lee's average =
즉, char 입력받을 때 띄어쓰기도 포함시켜야 하는게 핵심!
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
|
#include<stdio.h>
#include<limits.h>
int main() {
char c1[100];
char c2[100];
int score1[3];
int score2[3];
int d1 = sizeof(c1);
int d2 = sizeof(c2);
float avg[2];
scanf_s("%[^\n]s", c1, d1);
scanf_s(" %[^\n]s", c2, d2);
for (int i = 0; i < 3; i++) {
scanf_s("%d", score1 + i);
}
for (int i = 0; i < 3; i++) {
scanf_s("%d", score2 + i);
}
float sum1 = 0;
float sum2 = 0;
for (int i = 0; i < 3; i++) {
sum1 += score1[i];
sum2 += score2[i];
}
sum1 /= 3;
sum2 /= 3;
avg[0] = sum1;
avg[1] = sum2;
printf("%s 's average = %.2f\n", c1, avg[0]);
printf("%s 's average = %.2f", c2, avg[1]);
}
|
cs |
여기서 띄어쓰기를 해주는 것이 핵심이다!
jeno lee를 할때 jeno와 lee 사이에 띄어쓰기를 하면 이걸 \n으로 인식해서
다음줄로 넘어가서
jeno's average =
lee's average =
이따구로 나온다.
그래서 jeno lee를 한 뭉탱이로 인식하고 싶으면 두번째 scanf받을 때 앞에 공백을 넣도록!
그리고 %[^\n]s 라는게 \n 까지 문자열을 입력받는 방법이다.
그리고 문자열 입력받을 때 scanf_s("%[^\n]s",배열,배열의 크기) 이런식으로 받아주는 것도 잊지 말것!
만약 2차원 문자열 배열에
jeno lee
jiwon lee 를 저장하고 싶다면
"와 %[^\n]s 사이에 공백을 만들어주면 된다!!
728x90
반응형
'C > 기말고사 대비(2022 1학기)' 카테고리의 다른 글
[C언어 시험대비] 16년 기말고사 기출 (1) (0) | 2022.06.11 |
---|---|
[기말고사 기출문제 풀이] 2016년 기말(가) (0) | 2022.06.08 |
[c언어 시험대비] static과 재귀 (0) | 2022.06.06 |
[C언어/기말] 포인터를 사용하는 이유 (0) | 2022.05.17 |
22/05/09 포인터 스터디 정리 (0) | 2022.05.09 |
댓글