北邮VC++实验题 结构数组使用
题目描述
编写一个记录5个学生的姓名、性别、年龄和学号的程序,要求使用结构数组表示学生信息,用for循环获得键盘输入的学生记录的数据,所有数据输入完毕后,将5个学生的信息在屏幕上输出。
输入格式
按表格行列格式输出,每行输出一个学生的信息,按照姓名、性别、年龄、学号的顺序,各列信息左对齐,各信息占10位。
样例 #1
样例输入 #1
1
2
3
4
5
|
John male 18 2016211001
Kim male 18 2016211002
David male 18 2016211003
Marry female 18 2016211004
Anna female 18 2016211005
|
样例输出#1
1
2
3
4
5
|
John male 18 2016211001
Kim male 18 2016211002
David male 18 2016211003
Marry female 18 2016211004
Anna female 18 2016211005
|
样例 #2
样例输入 #2
1
2
3
4
5
|
a male 18 001
b female 19 002
c male 20 003
d female 21 004
e male 22 005
|
样例输出 #2
1
2
3
4
5
|
a male 18 001
b female 19 002
c male 20 003
d female 21 004
e male 22 005
|
提示
采用格式输出,程序中包含#include,并使用setiosflags(ios::left)和setw(n)。
解答
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#include <iostream>
#include <cstring>
#include <cstdio>
#include <iomanip>
using namespace std;
int main()
{
struct stu{
char name[10]={0};
char sex[10]={0};
int age;
char number[10]={0};
}student[5];
for(int i=0;i<5;i++)
scanf("%s %s %d %s",&student[i].name,&student[i].sex,&student[i].age,&student[i].number);
for(int i=0;i<5;i++)
{
/*printf(""%-10s%-10s%-10d%-10s",x,x,x,x);*/
cout<<setiosflags(ios::left);
cout<<setw(10)<<student[i].name<<setw(10)<<student[i].sex<<setw(10)<<student[i].age<<setw(10)<<student[i].number<<endl;
}
return 0;
}
|