개념/혼자 공부하는 C언어
chapter 17) 최고 학점의 학생 데이터 출력
kiseno
2024. 10. 5. 20:21
728x90
반응형
SMALL
#include <stdio.h>
struct student{
int id;
char name[20];
double grade;
};
int main(void){
struct student
s1 = {315, "test1", 2.4},
s2 = {315, "test2", 3.7},
s3 = {317, "test3", 4.4};
struct student max;
max = s1;
if (s2.grade > max.grade) max = s2;
if (s3.grade > max.grade) max = s3;
printf("class : %d\n", max.id);
printf("name : %s\n", max.name);
printf("grade : %.1lf\n", max.grade);
return 0;
}
### 구조체 정의
- `struct student`는 학생 정보를 나타내기 위해 `id`(학번), `name`(이름), `grade`(성적)라는 세 개의 필드를 가집니다.
### 학생 정보 초기화
- `s1`, `s2`, `s3` 세 변수는 `struct student` 타입으로 선언되며, 각각 다른 학생의 정보로 초기화됩니다. 이들 각각은 고유한 학번, 이름, 그리고 성적 값을 가집니다.
### 최대 성적 학생 찾기
- `max` 변수는 `struct student` 타입으로, 세 학생 중 가장 높은 성적을 가진 학생의 정보를 저장하기 위해 사용됩니다.
- 초기에는 `max`를 `s1`의 값으로 설정합니다. 이후 `s2`와 `s3`의 성적을 `max`와 비교하여, 더 높은 성적을 가진 학생의 정보로 `max`를 갱신합니다.
### 결과 출력
- 가장 높은 성적을 가진 학생의 학번, 이름, 그리고 성적이 출력됩니다. `printf` 함수를 사용하여 `max` 변수에 저장된 학생 정보를 출력합니다.
### 실행 결과
이 프로그램을 실행하면, `s1`, `s2`, `s3` 중에서 가장 높은 성적을 가진 학생(`s3`의 경우에 해당)의 학번, 이름, 성적이 다음과 같이 출력됩니다:
```
class : 317
name : test3
grade : 4.4
```
728x90
반응형
LIST