#include
using namespace std;
typedef struct student
{
int a;
}STU;
int main()
{
STU stu[10];
STU swap;
int i,j;
for(i=0;i {
cin>>stu[i].a;
}
for(i=0;i<10;i++)
{
cout<<stu[i].a<<"\t";
}
for(i=0;i<9;i++)
{
for(j=i+1;j<10;j++)
{
if(stu[i].a < stu[j].a)
swap=stu[i];
stu[i]=stu[j];
stu[j]=swap;
}
}
for(i=0;i<10;i++)
{
cout<<stu[i].a<<"\t";
}
return 0;
}
if(stu[i].a < stu[j].a)这个后面要加上大括号,满足if的时候只会执行一句swap=stu[i];
而后面的两句每次都会执行
#include <iostream>
using namespace std;
typedef struct student
{
int a;
}STU;
int main()
{
STU stu[10];
STU swap;
int i,j;
for(i=0;i <10; i++){
cin>>stu[i].a;
}
for(i=0;i<10;i++)
{
cout<<stu[i].a<<"\t";
}
for(i=0;i<9;i++)
{
for(j=i+1;j<10;j++)
{
if(stu[i].a < stu[j].a)
{
swap=stu[i];
stu[i]=stu[j];
stu[j]=swap;
}
}
}
for(i=0;i<10;i++)
{
cout<<stu[i].a<<"\t";
}
return 0;
}
晚上看的时候无意间看到了,哭笑不得,不过还是多谢了。