📄 改进的学生结构指针数组.cpp
字号:
#include<stdio.h>
#include<stdlib.h>
#define NULL 0
struct stu{
int num,ch,ma,en;
struct stu *next;
};
struct stu *creat();
void main( )
{
struct stu *head,*p;
float avc=0, avm=0, ave=0;
int i=0;
head= creat();
if(head == NULL)
printf("没有生成链表。\n");
else{
for (p=head; p; p= p->next){
avc+=p->ch ;
avm+=p->ma ;
ave+=p->en ;
i++;
}
printf("语文、数学、英语的平均成绩:\n");
printf("%6.2f %6.2f %6.2f\n",avc/i,avm/i,ave/i);
}
}
struct stu *creat(){
struct stu *head, *tail, *p;
int ch,ma,en,num,i=1;
head = tail = NULL;
printf("说明:结束时请输入0 0 0 0。\n");
printf("输入第%d个学生的学号以及语文、数学、英语成绩:\n",i);
scanf("%d%d%d%d",&num,&ch,&ma,&en);
while (num){
p = (struct stu *)malloc(sizeof(struct stu));
p->num = num;
p->ch = ch;
p->ma = ma;
p->en = en;
p->next = NULL;
if(head == NULL) head = p;
else tail->next = p;
tail = p;
i++;
printf("输入第%d个学生的学号以及语文、数学、英语成绩:\n",i);
scanf("%d%d%d%d",&num,&ch,&ma,&en);
}
return head;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -