#include<iostream>
using namespace std;
struct Student
{
int score[5];
char name[20];
};
int main()
{
Student st[5];
for(int i=0;i<5;i++)
cin>>st[i].name>>st[i].score;
for(int i=0;i<5;i++)
{
for(int j=i+1;j<5;j++)
{
if(st[j].score>st[i].score)
{
Student temp=st[i];
st[i]=st[j];
st[j]=temp;
}
}
}
for(int i=0;i<5;i++)
{
cout<<st[i].name<<st[i].score;}
return 0;
}
第12行总是显示标题所示错误……
5 个解决方案
#1
说得很清楚啊,没有 (
int [5])类型的重载,哪个C++教材/教程说了能直接输入int数组,自己用个循环就行了
#2
我知道没有这个的重载啊但是不知道什么意思啊。我不是用了for循环输入数组了吗?
#3
struct Student里int score[5];改为int score;
#include<iostream>
using namespace std;
struct Student
{
int score;
char name[20];
};
int main()
{
Student st[5];
for(int i=0;i<5;i++)
cin>>st[i].name>>st[i].score;
for(int i=0;i<5;i++)
{
for(int j=i+1;j<5;j++)
{
if(st[j].score>st[i].score)
{
Student temp=st[i];
st[i]=st[j];
st[j]=temp;
}
}
}
for(int i=0;i<5;i++)
{
cout<<st[i].name<<st[i].score;}
return 0;
}
#4
好的非常感谢~这个问题解决了……然后还有一个问题…… 我尝试用老师说的从外部输入输出重定向,为什么出现了这样的问题呢?
#5
目测权限问题
#1
说得很清楚啊,没有 (
int [5])类型的重载,哪个C++教材/教程说了能直接输入int数组,自己用个循环就行了
#2
我知道没有这个的重载啊但是不知道什么意思啊。我不是用了for循环输入数组了吗?
#3
struct Student里int score[5];改为int score;
#include<iostream>
using namespace std;
struct Student
{
int score;
char name[20];
};
int main()
{
Student st[5];
for(int i=0;i<5;i++)
cin>>st[i].name>>st[i].score;
for(int i=0;i<5;i++)
{
for(int j=i+1;j<5;j++)
{
if(st[j].score>st[i].score)
{
Student temp=st[i];
st[i]=st[j];
st[j]=temp;
}
}
}
for(int i=0;i<5;i++)
{
cout<<st[i].name<<st[i].score;}
return 0;
}
#4
好的非常感谢~这个问题解决了……然后还有一个问题…… 我尝试用老师说的从外部输入输出重定向,为什么出现了这样的问题呢?
#5
目测权限问题