| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 421 人关注过本帖
标题:关于链表建立的问题,求高手。。
取消只看楼主 加入收藏
F_Andriy7
Rank: 1
等 级:新手上路
帖 子:12
专家分:3
注 册:2011-11-1
结帖率:75%
收藏
已结贴  问题点数:32 回复次数:0 
关于链表建立的问题,求高手。。
N名学生的成绩在主函数中放入一个带头节点(头节点包括学号、成绩、姓名和下一个节点的指针)的链表结构中,创建节点时可以直接指定节点成员数值。h指向链表的头节点。请编写函数fun,它的功能是:找出学生的最高分,由函数值返回。主函数中调用该函数测试函数功能。
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define NULL 0
double fun(struct st a,struct st b,struct st c);
struct st
{
    long num;
    double gra;
    char n[20];
    struct st *next;
};
int main()
{
    struct st a,b,c, *head,*p;
    double i;
    //第1个学生
    printf("please input No.1 student's name:\n");
    gets(a.n);
    printf("please input No.1 student's number:\n");
    scanf("%ld",&a.num);
    printf("please input No.1 student's grade:\n");
    scanf("%f",&a.gra);
    //第2个学生
    printf("please input No.2 student's name:\n");
    gets(b.n);
    printf("please input No.2 student's number:\n");
    scanf("%ld",&b.num);
    printf("please input No.2 student's grade:\n");
    scanf("%f",&b.gra);
    //第3个学生
    printf("please input No.3 student's name:\n");
    gets(c.n);
    printf("please input No.3 student's number:\n");
    scanf("%ld",&c.num);
    printf("please input No.3 student's grade:\n");
    scanf("%f",&c.gra);
    head=&a;
    a.next=&b;
    b.next=&c;
    c.next=NULL;
    p=head;
    i=fun(a,b,c);
    printf("the highest score is %ld",i);
    return 0;
}
double fun(struct st a,struct st b,struct st c)
{
    double m;
    if(a.gra>=b.gra)
        m=a.gra;
    else m=b.gra;
    if(m<c.gra)
        m=c.gra;
    return m;
}

运行后自动跳过了输入学生2和学生3的名字的过程。。。求解啊。。
搜索更多相关主题的帖子: 函数 测试 color 
2012-03-08 16:13
快速回复:关于链表建立的问题,求高手。。
数据加载中...
 
   



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

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