从键盘输入10个学生的姓名和成绩,请按字典序排列学生的姓名并输出(姓名和成绩对应关系保持不变)。
输入共11行,前10行每行是一个学生的姓名,最后一行是10个用空格分开的整数表示对应的10个学生成绩。
Bush White Mark Jean Black Wood Jenny Frank Bill Smith 78 85 96 65 46 83 77 88 54 98
Bill,54 Black,46 Bush,78 Frank,88 Jean,65 Jenny,77 Mark,96 Smith,98 White,85 Wood,83
#include <iostream> #include <cstring> #include <algorithm> using namespace std; struct node { char name[10]; int grade; } student[10], t; int main() { int i, j; for(i=0; i<10; i++) { cin >> student[i].name; } for(i=0; i<10; i++) { cin >> student[i].grade; } for(i=0; i<9; i++) for(j=0; j<9-i; j++) { if(strcmp(student[j].name,student[j+1].name)>0) { t = student[j]; student[j] = student[j+1]; student[j+1] = t; } } for(i = 0 ; i < 10 ; i++) cout << student[i].name<<","<<student[i].grade<<endl; return 0; }