结构体指针练习
有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩、平均分数)。(用链表存储每个学生的信息、输入、显示结果等功能,编写对应的函数来实现)
有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));}