书不荒2077 2022-06-14 18:37 采纳率: 62.5%
浏览 80
已结题

用c语言或c++写一程序

写一子函数,实现动态建立链表,输入学号为001、002、003的3个同学的信息:学号,姓名,三门课成绩,平均分,当输入学号为0时结束建立链表
写一子函数,以上述链表作为实参,要求实现检索并返回成绩最高的同学信息指针
在主函数中使用函数指针实现子函数的调用,并输出“成绩最高的学生姓名+is the best”。

img

  • 写回答

2条回答 默认 最新

  • CSDN专家-sinJack 2022-06-14 20:15
    关注
    
    #include <stdio.h>
    #include <stdlib.h>
    typedef struct _linknode
    {
        int num;
        char name[20];
        int score[3];
        float avg;
        struct _linknode *next;
    }linknode,*linklist;
    void creat(linklist head)
    {
        linklist q = head;
        linklist p = NULL;;
        int i=0;
        while(true)
        {
            p = (linklist)malloc(sizeof(linknode));
            scanf("%d",&p->num);
            if(p->num==0){
                break;
            }
            scanf("%s%d%d%d",p->name,&p->score[0],&p->score[1],&p->score[2]);
            p->avg = (p->score[0] + p->score[1]+p->score[1])/3.0;
            p->next = NULL;
            q->next = p;
            q = p;
        }
    }
     
    linklist LinkListSort(linklist head)
    {
        float avg=head->next->avg;
        linklist res=head->next,p = head->next;
        while (p->next!=NULL)
        {
           p=p->next;
           if(avg<p->avg){
                   avg=p->avg;
                   res=p;
           }
        }
    
        return res;
    }
     
    int main()
    {
        linklist head = (linklist)malloc(sizeof(linknode));
        linklist p = NULL,h;
        head->next = NULL;
        creat(head);
        h = LinkListSort(head);
        if(h!=NULL)
            printf("%s is the best",h->name);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月22日
  • 已采纳回答 6月14日
  • 修改了问题 6月14日
  • 修改了问题 6月14日
  • 展开全部

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看