您的位置:首页 > 编程语言

2015.9.4 打印一个学生的成绩数组

2015-09-04 08:01 225 查看
问题及代码:

/*
题目描述
编写一个函数print,打印一个学生的成绩数组,该数组中有5个学生的数据,每个学生的数据包括num(学号)、name(姓名)、score[3](3门课的成绩)。编写一个函数input,用来输入5个学生的数据。

输入
5个学生的学号,姓名,3门课的成绩

输出
5个学生的学号,姓名,3门课的成绩

样例输入
1001 zhangsan 100 90 86
1002 lisi 90 20 80
1003 wangwu 90 90 89
1004 yanping 100 100 100
1005 xiaoxiao 60 60 60
样例输出
1001 zhangsan 100 90 86
1002 lisi 90 20 80
1003 wangwu 90 90 89
1004 yanping 100 100 100
1005 xiaoxiao 60 60 60
*/
// 程序代码如下:
#include <iostream>
using namespace std;
struct student
{
int num;
char name[20];
int score[3];
}stu[5];//创建一个学生类的结构体数组,
int main()
{
cout<<"5个学生的学号,姓名,3门课的成绩"<<endl;
const int n=5;
student stu
;
void input(student [],int ); //作为 数据输入函数(提前声明)
void print(student [],int ); //作为 数据输出函数(提前声明)
input(stu,n); //调用输入函数
cout<<"结果为:"<<endl;
print(stu,n); //调用输出函数
return 0;
}
void input(student [],int ) // 输入函数的定义,即如何实现的
{
int i,j;
for(i=0;i<5;i++)
{
cin>>stu[i].num;  // 输入学生的学号
cin>>stu[i].name;  // 输入学生的姓名
for(j=0;j<3;j++)
cin>>stu[i].score[j];  // 输入学生的各科成绩
}
}
void print(student [],int ) // 输出函数的定义,即如何实现的
{
int i,j;
for(i=0;i<5;i++)
{
cout<<stu[i].num<<" "<<stu[i].name<<' '; // 输出学生的学号和姓名
for(j=0;j<3;j++) // 用循环输出学生的成绩
{
if(j==2)  cout<<stu[i].score[j];
else cout<<stu[i].score[j]<<' ';
}
cout<<endl;
}
}


运行结果:



知识点总结:

把握结构体各个成员之间的关系。正确的使用循环。

学习心得:

第一次发表博文,选了一个以前做过的题目。一开始想把各个成绩已个体的形式作为结构体的成员。后来还是作为已成绩数组的形式作为结构体的成员。感觉简单了很多。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  结构体 代码 函数