C++存储学生姓名成绩按名次输出
源代码:
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
char name[10][10]; //最多存储学生姓名10个
int score[10][2]; //二维数组,第一列用来记录分数,第二列方便排序号输出
cout<<"输入学生数:";
int i,j,n;
cin>>n;
for(i=0;i<n;i++){//输入
cout<<"Name : ";cin>>name[i];
cout<<"Score : ";cin>>score[i][0];
}
for(i=0;i<n;i++){//排序,序号记录在score[i][1]
score[i][1]=0;
for(j=0;j<n;j++)
if(score[i][0]<score[j][0])
score[i][1]++;
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(score[j][1]==i)
cout<<"Name : "<<setw(5)<<name[j]<<" ,Score : "<<score[j][0]<<endl;
return 0;
}
在输出时用到了setw(5),为了使输出更加整洁。
结果图: