认识结构体
我们先来看看班长小明的个人简历
姓名:小明
学号:1
年龄:10
所在学习小组:A
成绩:100
在一个班级中,每个同学都拥有不同的姓名、性别、学号、特长、爱好...
可以看到,在小明的个人简历上有姓名、学号、年龄、所在学习小组和成绩5个信息,
这些信息都属于小明,那么小明就是一个结构体。
简单地说,结构体就是一些元素的集合,这些元素称为结构体的成员.
结构体模板1:
struct 变量名{
结构体所包含的变量、数组或函数
}结构体名字;
结构体模板2:
struct 变量名{
结构体所包含的变量、数组或函数
};
变量名 结构体名字;
结构体里面包含了多个变量或数组,它们的类型可以相同,也可以不同,请看下面这段代码。
struct stu{
string name;//姓名
int num;//学号
int age;//年龄
char group;//所在学习小组
float score;//成绩
};
如要调用xiaoming的score:
cin>>xiaoming.score;
输出也同理
cout<<xiaoming.score;
课后给大家留点课后作业:
评奖:
东东所在的班级有N名同学,期末考试进行了数学、语文、英语、地理四门功课的测试。班主任要将这N名学生中总分前三名确定为本学期的学习小标兵。现在给出这N名学生的姓名和各科成绩,请你编程找到总分前三名,并依次输出他们的姓名。所给数据不会有总分相同的情况。
标答:
#include<bits/stdc++.h>
using namespace std;
struct s{
string n;
int c,m,e,g,s,i;
}a[45];
int z(s x,s y){
return x.s>y.s;
}
main(){
int n,w[4]={},p=1,b[45];
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].n>>a[i].m>>a[i].c>>a[i].e>>a[i].g;
a[i].s=a[i].m+a[i].c+a[i].e+a[i].g;
a[i].i=a[i].s;
}
sort(a+1,a+n+1,z);
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(a[j].s==a[p].s){
cout<<a[j].n<<endl;
p++;
}
if(p==4) break;
}
}
}
加油,pl1第一讲结构体完结,有疑问请在评论区留言,等待你的关注😃😃