A2502494904 2023-08-25 10:08 采纳率: 57.1%
浏览 7
已结题

哪里错了,咋改咧??

输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。

哪里错了,PTA显示运行超时

#include<stdio.h>
struct frd {
    char name[10];
    int num[8];
    char phone[17];
};
int main()
    {
        int flag,j,k,i,N;
        struct frd t;
        scanf("%d",&N);
    struct frd pengyou[N];
    for (i=0;i<N;i++)
    {
        scanf("%s%d%s",&pengyou[i].name,&pengyou[i].num,&pengyou[i].phone);
    }
    for (i=0;i<N;i++)
    {    k=i;
        flag=0;
        for (j=0;i<N;j++)
        {if (pengyou[j].num<pengyou[k].num)
        {k=j;flag=1;}}
     if (flag==1)
     {
         t=pengyou[i];
         pengyou[i]=pengyou[k];
         pengyou[k]=t;
     }}
     for(i=0;i<N;i++)
     {
         printf("%s%d%s",pengyou[i].name,pengyou[i].num,pengyou[i].phone);}
         return 0;
     
         
    
    }


  • 写回答

5条回答 默认 最新

  • 追逐远方的梦 2023-08-25 20:03
    关注

    你这个排序算法需要改一改。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 10月22日
  • 已采纳回答 10月14日
  • 创建了问题 8月25日