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

题目描述

设计一个结构体类型,包含姓名、出生日期。其中出生日期又包含年、月、日三部分信息。输入n个好友的信息,输出年龄最小的好友的姓名和出生日期。

输入

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

输出

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

样例输入 Copy

3
Zhangling 1983 2 4
Wangliang 1983 12 11
Fangfang 1985  6 1

样例输出 Copy

Fangfang 1985-06-01
#include <stdio.h>

struct Borndaily{
	int year;
	int month;
	int day;
};

struct Friend{
	char name[25];
	struct Borndaily date;
}friends[10]; 

int main(){
	int n,i;
	scanf("%d",&n);
	getchar();


	for(i=0; i<n; i++){
		scanf("%s%d%d%d",
		friends[i].name,&friends[i].date.year,&friends[i].date.month,&friends[i].date.day);
	}
	int t=0;//默认第一个朋友年龄最小 
	for(i=1; i<n; i++){//年月日大的年龄小,年月日依次比较
		if(friends[i].date.year>=friends[t].date.year||
			friends[i].date.year==friends[t].date.year &&friends[i].date.month>=friends[t].date.month||
			friends[i].date.year==friends[t].date.year &&friends[i].date.month==friends[t].date.month &&
			friends[i].date.day>friends[t].date.day){
				t=i;
			}
	}
	
	printf("%s %d-%02d-%02d\n",
		friends[t].name,friends[t].date.year,
		friends[t].date.month,friends[t].date.day);
		
	return 0;
} 
全部评论

相关推荐

身边有人上海、深圳&nbsp;6、7k&nbsp;都去了,真就带薪上班了。
程序员小白条:木的办法, 以后越来越差,还是家附近宅着吧,毕业的人越来越多,岗位都提供不出来,经济又过了人口红利期
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务