48分,不知错哪,求助大佬
  • 板块P1104 生日
  • 楼主shadow357
  • 当前回复2
  • 已保存回复2
  • 发布时间2022/10/14 12:44
  • 上次更新2023/10/27 07:36:34
查看原帖
48分,不知错哪,求助大佬
830355
shadow357楼主2022/10/14 12:44
#include <string.h>
#include<stdio.h>

typedef struct note{
    	char name[20];
    	int year;
    	int mouth;
    	int day;
	}Note;
	
Note early(Note a,Note b);
int bijiao(char* a,char* b);

int main()
{
	int n;
	scanf("%d",&n);
	Note a[n];
	int cnt=0;
	int cnt1;
	Note earlier;
	earlier.year =2025;
	for(;cnt<n;cnt++){
		scanf("%s %d %d %d",a[cnt].name,&a[cnt].year,&a[cnt].mouth,&a[cnt].day);
	}
	
	for(cnt1=0;cnt1<n;cnt1++){
	for(cnt=0;cnt<n;cnt++){
		earlier=early(earlier,a[cnt]);
	}
	if(earlier.year <=2020){
	printf("%s\n",earlier.name );
    }
    for(cnt=0;cnt<n;cnt++){
    	if(strcmp(earlier.name ,a[cnt].name)==0 ){
    		a[cnt].year =2025;
    		break;
		}
    }
    earlier.year =2025;
	}
	return 0;
}

Note early(Note a,Note b)
{
	Note t;
	if(a.year <b.year ){
		t=a;
	}else if(a.year >b.year ){
		t=b;
	}else if(a.year ==b.year ){
		if(a.mouth <b.mouth ){
			t=a;
		}else if(a.mouth >b.mouth ){
			t=b;
		}else if(a.mouth ==b.mouth ){
			if(a.day <b.day ){
				t=a;
			}else{
				t=b;
			}
		}
	}
	return t;
}

P1104

2022/10/14 12:44
加载中...