结构体大家都很熟悉吧。没错,就是structure
我们可以把结构体看做一个打包盒,但它比较厉害,可以存放不同类型的元素。我们如果想存放个人的基本信息,就可以通过定义结构体的关键字struct完成这一过程:
struct student
{
string name;
int age;
int height;
};
把它编成整体代码就是:
#include<bits/stdc++.h>
using namespace std;
struct student
{
string name;
int age;
int height;
};
int main(){
student s;//student就是我们定义的一个像int一样的类型
s.name="梦泽不忙";//真名其实是刘梦泽
s.age=11;
s.height=147;
cout<<s.name<<endl<<s.age<<endl<<s.height;
return 0;
}
我们还可以对它进行升级,比如:
#include<bits/stdc++.h>
using namespace std;
struct student
{
string name;
double score[6];//学生分数
};
double sum;
int main(){
//循环输入输出并算出总成绩和平均分
student mzbm;
cin>>mzbm.name;
for(int i=0;i<=4;i++)
{
cin>>mzbm.score[i];
}
cout<<mzbm.name<<endl;
for(int i=0;i<=4;i++)
{
cout<<mzbm.score[i]<<endl;
if(mzbm.score[i]<=50)
{
sum=sum+mzbm.score[i]+50;
}
else
{
sum=sum+mzbm.score[i];
}
}
cout<<"总分:"<<sum-50-50<<"平均分:"<<sum/5.0;
return 0;
}
比如:
#include<bits/stdc++.h>
using namespace std;
struct student
{
string name;
double score[6];
};
int n;
int main(){
//二维循环输入多人成绩并输出
student s[100];
cin>>n;
for(int i=0;i<n;i++)
{
cin>>s[i].name;
for(int j=0;j<=4;j++)
{
cin>>s[i].score[j];
}
}
for(int i=0;i<n;i++)
{
cout<<endl<<s[i].name<<" ";
for(int j=0;j<=4;j++)
{
cout<<s[i].score[j]<<" ";
}
}
return 0;
}
我们还可以做一些例题巩固
例题1
例题2
例题3
so,你学会结构体了吗???