关于结构体的那些事儿(模版&样例)

结构体大家都很熟悉吧。没错,就是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,你学会结构体了吗???

上一篇:动手学深度学习64 注意力机制