想要输出按成绩排序的学生信息,但得到的是乱码

泠然 发布于 2010/10/24 20:10
阅读 159
收藏 0

#include<iostream>
using namespace std;
struct student
{
double bianhao;//定义编号;
char name;//姓名;
char sex;//性别;
double age;//年龄;
double grade;//成绩;
};
int main()
{   
     student list[10];//定义结构数组;
     student t;//定义结构变量;
     int count,i,j,k,n;//定义用于循环的变量;
     while(cin>>n)
     {
 for(i=0;i<n;i++)
{
cin>>list[i].bianhao
>>list[i].name
>>list[i].sex
>>list[i].age
>>list[i].grade;
cout<<endl;
}//输入信息;
for(i=0;i<n;i++)
{
for(j=0;j<=n;j++)
{
for(k=1;k<=n;k++)
{
if(list[i].grade<list[k].grade)
{
t=list[i];list[i]=list[k];list[k]=t;
}
}
}
}//排序;
for(i=0;i<n;i++)
{
    cout<<list[i].bianhao
<<" "
<<list[i].name
<<" "
<<list[i].sex
<<" "
<<list[i].age
<<" "
<<list[i].grade<<endl;
}//输出;
}
system("pause");
return 0;
}

加载中
0
xyz555
xyz555

char怎么存储姓名?用string要么用char[]

0
HaoLiang
HaoLiang

学生姓名不能用char存吧?

另外那个排序,请问变量J是做什么用的呢?

0
胡瀚森

char类型是一个问题,另外,这冒泡排序怎么变成n立方级的了?

0
Yongqiang
Yongqiang

嗯,至少应该用个字符数组存名字吧。排序中,变量J没有使用啊。LZ再好好查查。

0
戴威
戴威

姓名是char

年龄用double

这……

返回顶部
顶部