生日相同问题

#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
using namespace std;
struct student
{
    char name[100];
    int m;
    int d;
};
student s[100];
int len[100];
int main()
{
    int n,i,j,on=1;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%s%d%d",s[i].name,&s[i].m,&s[i].d);
        len[i]=strlen(s[i].name);
    }
    for(i=1;i<=n;i++)
    {
        for(j=i+1;j<=n;j++)
            if(len[i]>len[j])
                swap(s[i],s[j]);
    }
    for(i=1;i<=n;i++)
    {
        for(j=i+1;j<=n;j++)
        {
            if(s[i].d==s[j].d&&s[i].m==s[j].m&&s[j].m!=0)
            {
                if(on==1)
                {
                    printf("%d %d ",s[i].m,s[i].d);
                    cout<<s[i].name<<" ";
                    on=0;
                } 
                cout<<s[j].name<<" ";
                s[j].m=0;
            }
        }
        if(on==0)
            cout<<endl;
        on=1;        
    }
    return 0;
}100'

猜你喜欢

转载自blog.csdn.net/qq_42552468/article/details/81274292