题目描述
2012年秋的英语等级考试成绩出来了,实际测试数据有1万5千条左右,是去年的真实成绩。
希望大家用数据结构中的线性表来完成数据的输入和输出,同时在设计成绩信息结构体时需要注意,姓名这一字段因为测试系统的原因,无法存储汉字,所有只有三个字段。
输入描述
输入等级 学号 成绩,形如下面所示。
CET4 201001010221 384
CET4 201001010229 472
CET4 201101010127 518
CET4 201101010206 416
CET4 201101010219 445
CET4 201101010102 354
CET4 201101010123 350
CET4 201101010124 380
输出描述
每个学生的数据之间间隔一个空格,每个学生占一行
输入样例
CET4 201001010221 384
CET4 201001010229 472
CET4 201101010127 518
CET4 201101010206 416
CET4 201101010219 445
CET4 201101010102 354
CET4 201101010123 350
CET4 201101010124 380
输出样例
CET4 201001010221 384
CET4 201001010229 472
CET4 201101010127 518
CET4 201101010206 416
CET4 201101010219 445
CET4 201101010102 354
CET4 201101010123 350
CET4 201101010124 380
代码
#include <stdio.h>
#include <malloc.h>
typedef struct{
char level[10];
char number[20];
int score;
}stu;
typedef struct Lnode{
stu data;
struct Lnode*next;
}Lode;
int main()
{
Lode *L,*head,*rear,*p;
stu temp;
int length=8,i,j,k;
L=(struct Lnode*)malloc(sizeof(Lode));
L->next=NULL;
head=rear=L;
for(i=1;i<=length;i++){
scanf("%s%s%d",temp.level,temp.number,&temp.score);
p=(struct Lnode*)malloc(sizeof(Lode));
p->data=temp;
p->next=NULL;
rear->next=p;
rear=rear->next;
}
p=head->next;
while(p!=NULL)
{
printf("%s %s %d\n",p->data.level,p->data.number,p->data.score);
p=p->next;
}
return 0;
}
运行