문제 번호 1535. -- 2021년 2학기 C언어프로그래밍2 - 중간고사 2번

1535: 2021년 2학기 C언어프로그래밍2 - 중간고사 2번

시간 제한: 1 Sec  메모리 제한: 128 MB
제출: 124  해결 문제 수: 44
[제출][채점 상황 열람][게시판]

문제 설명


구조체 student에는 
int형의 학번 (id), 
int형의 나이(age), 
float형의 키(height)가 들어있다.

함수 mystery는 최대 크기 10을 갖는 구조체 student형의 배열의 시작주소와
명령문자 (cmd)를 받아, 
cmd='A'이면 나이가 가장 많은 student의 id를 반환,
cmd='a'이면, 나이가 가장 어린 student의 id를 반환,
cmd='H'이면, 키가 가장 큰 student의 id를 반환,
cmd='h'이면, 키가 가장 작은 student의 id를 반환한다.

중요!!! 배열의 앞에서부터 최대 10개의 student 정보가 담겨있으나,
id가 음수인 경우는 비교대상에서 제외한다.


아래 main함수에서 함수 mystery를 호출하는 방식을 참조하여 표시된 위치를 구현하시오.


//------------- 아래 부분을 작성 후 온라인저지 제출란에 복붙하면 됩니다.

// 필요한 헤더파일들을 include하시오

/* 구조체 student 를 정의하시오 */

/*
 함수 mystery를 정의하시오.
*/

//--------  이 아래로는 절대 수정하지 마시오 --(문법오류제외)-----------------
int main(void){

struct student A[10];

int id;
int age;
float height;
char cmd;

int idx = 0;
while(1) {

scanf("%d %d %f", &id, &age, &height);
    A[idx].id = id;
A[idx].age = age;
A[idx].height = height;
idx++;
if (idx == 10) {
break;
}
}
scanf(" \n %c", &cmd);

printf("%d", mystery(A,cmd));
return 0;
}

입력

10 20 169.0

20 21 178.0

-1 -1 0.0

-1 -1 0.0

-1 -1 0.0

-1 -1 0.0

-1 -1 0.0

-1 -1 0.0

-1 -1 0.0

-1 -1 0.0

A

출력

20

입력 예시

10 20 169.0
20 21 178.0
-1 -1 0
-1 -1 0
-1 -1 0
-1 -1 0
-1 -1 0
-1 -1 0
-1 -1 0
-1 -1 0
A​

출력 예시

20

도움말

출처

[제출][채점 상황 열람]