当前位置:编程问答 > C/C++ >

结构体指针练习

问题:有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩、平均分数)。(用链表存储每个学生的信息、输入、显示结果等功能,编写对应的函数来实现)
答案:说下思路,代码自己写吧
struct  Node{
int       id;
char    name[8];
......
struct Node * next;
};

Node * Create();
void insert(Node * head,int p,int id,char *name,....);
int del(Node * head,int p);
//参见http://baike.zhaoxi.net/view/549479.htm


int main()
{
Node *p = NULL;
Node *Node_temp = NULL;
int sum;
int num_temp = 0;
int score_sum;
int score_avg;
/*创建链表*/
       creat();
       insert(.......);
/**/
p = head;
while(p)//查询整个链表
{
sum =  p->score1 +p->score2 +p->score3;//每个学生的总成绩
if (sum > num_temp)
{
num_temp = sum;
Node_temp = p;//总是存储当前成绩最好的学生的节点
}
score_sum += sum;
p = p->next;
}
score_avg = score_sum  / 30;//总平均成绩
printf(Node_temp->........);//打印
      return 0;
}

上一个:C# {1:C} 是什么格式
下一个:#include<stdio.h> void main() { int a=5;float f=7.8; printf("int + float: %d\n",sizeof(a+f));}

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,