상세 컨텐츠

본문 제목

[c언어] 코딩도장 53.7 나이가 가장 많은 사람 찾기 문제풀이

c언어

by ~지우~ 2021. 7. 17. 21:07

본문

728x90

오늘은 코딩도장 53.7 심사문제 풀이를 해보겠습니다.

 

<문제> 표준 입력으로 5명의 인적 정보가 입력됩니다(홀수 번째는 이름, 짝수 번째는 나이). 다음 소스 코드를 완성하여 입력된 사람 중에서 나이가 가장 많은 사람의 이름이 출력되게 만드세요.

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>

struct Person {
    char name[30];
    int age;
};

int main()
{
	struct Person *p[5];

	for (int i = 0; i < 5; i++)
	{
		p[i]=malloc(sizeof(struct Person));
	}
	for (int j = 0; j < 5; j++)
	{
		scanf("%s %d", p[j]->name, &p[j]->age);
	}

	int oldest = 0;
	int age = 0;

	for (int k = 0; k < 5; k++)
	{
		if(p[k]->age > age) 
		{
			age = p[k]->age;
			oldest = k;
		}
	}

	printf("%s\n", p[oldest]->name);
    
	for (int i = 0; i < sizeof(p) / sizeof(struct Person *); i++)
	{
		free(p[i]);
	}

	return 0;
}
728x90

관련글 더보기

댓글 영역