0分C语言,样例过了
查看原帖
0分C语言,样例过了
1548865
Tira_misu楼主2024/12/14 23:19
#include<stdio.h>
#include<math.h>
struct student
{
    char name[10];
    double m;
    double c;
    double e;
};
int main()
{
    int n,k = 0,ct = 0;
    scanf("%d",&n);
    struct student a[n];
    for(int i = 0;i<n;i++)
    {
        scanf("%s %lf %lf %lf",a[i].name,&a[i].m,&a[i].c,&a[i].e);
    }
    for(int i = 0;i<n;i++)
    {
        for(int j = i+1;j<n;j++)
        {
            double sum1,sum2;
            sum1=a[i].c+a[i].m+a[i].e;
            sum2=a[j].c+a[j].e+a[j].m;
            if(fabs(a[i].m-a[j].m)<=5&&fabs(a[i].c-a[j].c)<=5&&fabs(a[i].e-a[j].e)<=5&&fabs(sum1-sum2)<=10)
            {
                ct++;
            }
        }
    }
    for(int i = 0;i<n;i++)
    {
        for(int j = i+1;j<n;j++)
        {
            double sum1,sum2;
            sum1=a[i].c+a[i].m+a[i].e;
            sum2=a[j].c+a[j].e+a[j].m;
            if(fabs(a[i].m-a[j].m)<=5&&fabs(a[i].c-a[j].c)<=5&&fabs(a[i].e-a[j].e)<=5&&fabs(sum1-sum2)<=10)
            {
                k++;
                if(k<ct)
                {
                    if(a[i].name[0]<a[j].name[0])
                        printf("%s %s\n",a[i].name,a[j].name);
                    else
                        printf("%s %s\n",a[j].name,a[i].name);
                }
                else if(k==ct)
                {
                    if(a[i].name[0]<a[j].name[0])
                        printf("%s %s",a[i].name,a[j].name);
                    else
                        printf("%s %s",a[j].name,a[i].name);
                }
            }
        }
    }
    return 0;
}
2024/12/14 23:19
加载中...