[Code]
# include <stdio.h>
# define VMAX 10 // 평점의 최댓값은 10.0
typedef struct {
char name[20];
int height; // 신장
double score; // 평점
}Player;
// 키의 평균을 구하는 함수
double avgHeight(const Player dat[], int n) {
int sum = 0;
for (int i = 0; i < n; i++) {
sum += dat[i].height;
}
return sum / n;
}
// 평점 분포를 저장하는 함수
void distScore(const Player dat[], int n, int dist[]) {
//dist 초기화
for (int i = 0; i < VMAX; i++) {
dist[i] = 0;
}
//int형 인덱스로 접근
for (int i = 0; i < n; i++) {
dist[(int)(dat[i].score)]++;
}
}
int main() {
Player x[] = {
{"손흥민",183,7.9},
{"황희찬",176,7.7},
{"조규성",188,5.1},
{"이강인",173,8.0},
{"주민규",185,7.0},
{"설영우",180,6.6},
{"황인범",173,6.9},
{"김영권",187,6.5},
{"김민재",190,8.1},
{"김문환",175,6.5},
{"김진수",177,6.3},
{"조현우",181,7.8},
};
int nx = sizeof(x) / sizeof(x[0]); // 사람수
int sdist[VMAX];
puts("======선수 프로필======");
for (int i = 0;i< nx; i++) {
printf("%s , %d, %f \n", x[i].name, x[i].height, x[i].score);
}
printf("평균신장 %f\n\n", avgHeight(x,nx));
puts("=======평점 분포=======");
distScore(x, nx, sdist);
for (int i = 0; i < VMAX; i++) {
printf("%d점 ~ %d점 : %d 명\n", i, i + 1 , sdist[i]);
}
}
[실행화면]
[Code]
# include <stdio.h>
typedef struct {
int y;
int m;
int d;
}Date;
//y년 m월 d일을 나타내는 구조체를 반환하는 함수
Date dateStruct(int y , int m ,int d) {
Date date;
date.y = y;
date.m = m;
date.d = d;
return date;
}
//날짜 x의 n일 뒤의 날짜를 반환하는 함수
Date Next(Date date, int x) {
Date result;
result.y = date.y;
result.m = date.m;
result.d = date.d + x;
if (result.m == 2) {
if (result.d > 28) {
result.m++;
result.d -= 28;
} //윤년은 귀찮아요..
}
else if (result.m == 4 || result.m == 6 || result.m == 9 || result.m == 11) {
if (result.d > 30) {
result.m++;
result.d -= 30;
}
}
else {
if (result.d > 31) {
result.m++;
result.d -= 31;
}
}
return result;
}
int main(void) {
//날짜 구조체 반환 함수 테스트
Date day;
day = dateStruct(2024, 3, 29);
printf("%d년 %d월 %d일\n", day.y, day.m, day.d);
//x일 다음을 반환하는 함수 테스트
Date next_day;
int x = 30;
next_day = Next(day, x);
printf("오늘로부터 %d일 뒤는 %d년 %d월 %d일\n", x, next_day.y, next_day.m, next_day.d);
}
[실행결과]
'언어 > C' 카테고리의 다른 글
[C언어] 배열을 역순으로 정렬하는 함수 (1) | 2024.03.27 |
---|---|
[C언어] 배열 요소의 최댓값을 찾는 함수 (1) | 2024.03.26 |
[C언어] 배열을 함수의 인자로 전달하기. (0) | 2024.03.19 |
[C언어] 비트연산자 (0) | 2024.03.09 |