summeraaaaaaaa 2017-12-07 11:20 采纳率: 75%
浏览 1864
已采纳

找出链表中年龄最大的学生

#include
#include
#include
struct student
{
int number;
char name[30];
char sex[3];
int age;
student *next;
};

student* fileInput(char* fileName);
void traversal(student* phead);
int main()
{
student *phead;
char *fileName;
strcpy(fileName,"C:\Users\88450\桌面\周四\students.dat");
phead=fileInput(fileName);
traversal(phead);

return 0;

}

student* fileInput(char* fileName)
{
student s,*pnew,*phead,*ptail;
FILE fp;
fp=fopen("students.dat","rb");
int i=0;
while(fread(&s,sizeof(student),1,fp)!=0)

{
pnew=(student
)malloc(sizeof(student));
pnew->number=s.number;
strcpy(pnew->name,s.name);
strcpy(pnew->sex,s.sex);
pnew->age=s.age;
pnew->next=NULL;

if(i==0)
  {
    phead=pnew;
    ptail=pnew;
  }
else
  {
    ptail->next=pnew;
    ptail=ptail->next; 
  }
i++;
}   
fclose(fp);
return phead;

}

void traversal(student* phead)
{
student *p;
p=phead;
while(p!=NULL)

{
printf ("学号:%d 姓名:%s 性别:%s 年龄:%d\n",p->number,p->name,p->sex,p->age);
p=p->next;

}

}
如何编一个自定义函数,查找出年龄最大的学生(要可实现可找出多个最大年龄的学生),谢谢各位大佬了!

  • 写回答

14条回答 默认 最新

  • zw123wu 2017-12-07 12:23
    关注

    student* findoldest(student* phead)
    {
    int maxage = 0;
    student *pnew,*poldest,*ptail,*p;
    p=phead;
    while(p!=NULL)
    {
    if (p->age >= maxage) {
    pnew=(student)malloc(sizeof(student));
    pnew->number=p->number;
    strcpy(pnew->name,p->name);
    strcpy(pnew->sex,p->sex);
    pnew->age=p->age;
    pnew->next=NULL;
    if (p->age > maxage) {
    if (poldest != NULL) {

                }
        poldest = pnew;
        ptail = pnew;
                maxage = p->age;
      } else {
        ptail->next=pnew;
        ptail=ptail->next; 
      }
    }
    p=p->next;
    

    }
    return poldest;
    }

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

报告相同问题?

悬赏问题

  • ¥15 孟德尔随机化结果不一致
  • ¥15 深度学习残差模块模型
  • ¥50 怎么判断同步时序逻辑电路和异步时序逻辑电路
  • ¥15 差动电流二次谐波的含量Matlab计算
  • ¥15 Can/caned 总线错误问题,错误显示控制器要发1,结果总线检测到0
  • ¥15 C#如何调用串口数据
  • ¥15 MATLAB与单片机串口通信
  • ¥15 L76k模块的GPS的使用
  • ¥15 请帮我看一看数电项目如何设计
  • ¥23 (标签-bug|关键词-密码错误加密)