作者 chenmin
单位 福建工程学院
编程实现一个简易学生信息管理系统,按如下步骤分别用自定义函数实现:
(1) 根据输入信息创建单链表并输出所有结点信息。每个学生的信息包括姓名和成绩;
(2) 将上一步创建的单链表逆置后并输出所有结点信息。
输入格式:
根据输入的若干个学生信息创建单链表。每一行代表一个学生信息,以成绩-1作为输入的结束。
输出格式:
每个学生信息占一行,姓名和成绩之间以空格分隔,成绩保留一位小数。
创建链表输出加提示信息:Original
逆置后输出加提示信息:Reversed
输入样例:
在这里给出一组输入。例如:
Wang 87.3
Wang 60.1
Wang 89.5
Li 93.2
Fu 87.5
Wang 78.6
Cheng 89.1
Tang 71.9
Wang 63.1
Fang 81.9
tt -1
输出样例:
在这里给出相应的输出。例如:
Original:
Wang 87.3
Wang 60.1
Wang 89.5
Li 93.2
Fu 87.5
Wang 78.6
Cheng 89.1
Tang 71.9
Wang 63.1
Fang 81.9Reversed:
Fang 81.9
Wang 63.1
Tang 71.9
Cheng 89.1
Wang 78.6
Fu 87.5
Li 93.2
Wang 89.5
Wang 60.1
Wang 87.3
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
C++代码:
#include<bits/stdc++.h>
using namespace std;
typedef struct {
char name[10];
double score;
} Student;
int main() {
list<Student> l1;
Student temp;
while (1) {
cin >> temp.name >> temp.score;
if (temp.score != -1)
l1.push_back(temp);
else
break;
}
cout << "Original:" << endl;
for (auto it = l1.begin(); it != l1.end(); it++) {
printf("%s %.1lf\n",it->name,it->score);
}
cout << endl;
cout << "Reversed:" << endl;
for(auto it = l1.rbegin();it != l1.rend();it++){
printf("%s %.1lf\n",it->name,it->score);
}
return 0;
}