求助最后两个测试点
  • 板块P1104 生日
  • 楼主SnowZ
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/10/18 20:48
  • 上次更新2024/10/18 22:46:30
查看原帖
求助最后两个测试点
1404938
SnowZ楼主2024/10/18 20:48
#include<stdio.h>
#include<stdlib.h>
struct Person
{
    char name[21];
    int year;
    int month;
    int day;
};
void sort(struct Person arr[], int n){
    for(int i = 0; i < n - 1; i++){
        for(int j = 0; j < n - i - 1; j++){
            if((arr[j].year > arr[j+1].year) || 
            ((arr[j].year == arr[j+1].year) && arr[j].month > arr[j+1].month) || 
            ((arr[j].year == arr[j+1].year) && (arr[j].month == arr[j+1].month) && arr[j].day >= arr[j+1].day)){
                struct Person temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }
}

int main()
{
    int n;
    scanf("%d",&n);
    struct Person p[101];
    for(int i = 0; i < n; i++){
        scanf("%s %d %d %d",p[i].name,&p[i].year,&p[i].month,&p[i].day);
    }
    sort(p, n);
    for(int i = 0; i < n; i++){
        printf("%s\n",p[i].name);
    }
    return 0;
}
2024/10/18 20:48
加载中...