| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1235 人关注过本帖
标题:求助 这个链表中的max函数为什么输出不出来呢?
取消只看楼主 加入收藏
静战者
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2021-12-21
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
求助 这个链表中的max函数为什么输出不出来呢?
程序代码:
#include<stdio.h>
#include<stdlib.h>
typedef struct student
{
    int xuehao;
    char name[4];
    int point1;
    int point2;
    int point3;
    struct student *next;
}Linklists;
main()
{
    void input(Linklists *head);
    void print(Linklists *head);
    void max(Linklists *head);
    Linklists *head;
    head=(Linklists*)malloc(sizeof(Linklists));
    head->next=NULL;
    input(head);
    print(head);
    max(head);
    return 0;
}
void input(Linklists *head)
{
    Linklists *p;
    printf("请依次输入学号,姓名,各科成绩(学号输入00时结束):\n");
        while(1)
        {
            p=(Linklists*)malloc(sizeof(Linklists));
            scanf("%d",&p->xuehao);
            if(p->xuehao==00)
            {
                free(p);
                break;
            }
            scanf("%s %d %d %d",p->name,&p->point1,&p->point2,&p->point3);
            p->next=head->next;
            head->next=p;
        }
}
void print(Linklists *head)
{
    Linklists *p;
    p=head->next;
        printf("\n学号------姓名-------第一科成绩----第二科成绩----第三科成绩\n");
        while(p!=NULL)
        {
            printf("%d %s %d %d %d\n",p->xuehao,p->name,p->point1,p->point2,p->point3);
            p=p->next;
        }
}
void max(Linklists *head)
{
    Linklists *p=head->next;
    int maxpoint,temp,maxxuehao;
    maxxuehao=head->xuehao;
    printf("最高分的同学的成绩如下:");
    printf("\n学号------姓名-------第一科成绩----第二科成绩----第三科成绩\n");
    while(p!=NULL)
    {
        maxpoint=p->point1+p->point2+p->point3;
        p=p->next;
        temp=p->point1+p->point2+p->point3;
        if(maxpoint<temp)
        {
            maxxuehao=p->xuehao;
            maxpoint=temp;
        }
    }
    p=head->next;
    while(p!=NULL)
    {
        if(maxxuehao==p->xuehao)
        printf("%d %s %d %d %d\n",p->xuehao,p->name,p->point1,p->point2,p->point3);
        else
        p=p->next;
    }
}

这个我不知道怎么把图片黏贴上,题目是这样的,输入若干个学生的信息然后通过链表输出,并且找到最高分的同学的成绩并输出
搜索更多相关主题的帖子: next head void 成绩 printf 
2021-12-21 15:59
静战者
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2021-12-21
收藏
得分:0 
忘了说问题了,它这个输入后输出的结果没问题,但是这个max的函数就没有正确输出
2021-12-21 16:00
快速回复:求助 这个链表中的max函数为什么输出不出来呢?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027164 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved