1181: 谁的年龄最小(结构体专题)C语言

1181: 谁的年龄最小(结构体专题)
时间限制: 1 Sec 内存限制: 128 MB
提交: 7889 解决: 4395
[状态] [讨论版] [提交] [命题人:外部导入]
题目描述
设计一个结构体类型,包含姓名、出生日期。其中出生日期又包含年、月、日三部分信息。输入n个好友的信息,输出年龄最小的好友的姓名和出生日期。

输入
首先输入一个整数n(1<=n<=10),表示好友人数,然后输入n行,每行包含一个好友的信息:姓名(不超过20位)以及三个整数,分别表示出生日期的年月日。

输出
输出年龄最小的好友的姓名和出生日期,用空格隔开,出生日期的输出格式见输出样例。

样例输入 Copy
3
Zhangling 1983 2 4
Wangliang 1983 12 11
Fangfang 1985 6 1
样例输出 Copy
Fangfang 1985-06-01

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

typedef struct age{
    
    
	char name[30];
	int year;
	int month;
	int day;
}AGE; 

int main() {
    
    
	int n, i;
	AGE a[10];
	int min = 0;
	scanf("%d", &n);	// 输入n
	for(i = 0; i < n; i++){
    
    
		scanf("%s %d %d %d", a[i].name, &a[i].year, &a[i].month, &a[i].day);	// 输入好友信息 
		if(a[i].year > a[min].year)	// 比较年份 
			min = i;
		else if(a[i].year == a[min].year && a[i].month > a[min].month)	// 年份相同比较月份 
			min = i; 
		else if(a[i].year == a[min].year && a[i].month == a[min].month && a[i].day > a[min].day)	// 年份和月份相同比较日 
			min = i;	 
	} 
	printf("%s %d-%02d-%02d", a[min].name, a[min].year, a[min].month, a[min].day);	// 输出 
	return 0;
}

猜你喜欢

转载自blog.csdn.net/m0_45306379/article/details/121869924