6-1 学生信息结构体数组的创建和输出【武汉理工大学】

定义一个结构体类型,其成员包括:学号、姓名、性别(char型)、年龄、籍贯、入学年份、所在学院。利用学生信息的结构体数组,编写输入函数input( )实现从键盘输入数据赋给数组,编写输出函数output( )逐行输出每个学生的信息的函数。

函数接口定义:

void input(student stu[],int n);
void output(student stu[],int n);

其中stun 都是用户传入的参数。 stu[]是创建的学生信息; n是学生的总人数。

裁判测试程序样例:
#include
#include
#include
#define N 1000  //学生可能达到的最大长度
typedef struct student
{     
    int num;      //学号
    char name[20]; //姓名
    char sex;   //性别(char型,f表示女,m表示男)
    int age;    //年龄
    char province[20];//籍贯
    int year;//入学年份
    char depart[20];//所在学院
}student;
void input(student stu[],int n);//学生信息输入函数
void output(student stu[],int n);//学生信息输出函数

int main()
{     
    student stu[N];
    int n;
    scanf("%d",&n);//输入学生人数
    if (n>N) {printf("overflow!");return 0;}
    input(stu,n); 
    output(stu,n); 
    return 0;
}
/* 请在这里填写答案 */

输入样例:
第一行输入学生的个数n的值,后续输入n行学生的信息(学号、姓名、性别、年龄、籍贯、入学年份、所在学院),每个学生信息占一行,学号、姓名、性别、年龄、籍贯、入学年份、所在系用空格分隔,所在系之后没有空格。

5
1001 Jack f 20 湖北 2019 理学院
1002 Sam m 19 江西 2019 信息学院
1003 Marry f 21 湖南 2019 外语学院
1004 David m 20 安徽 2019 资环学院
1005 Susan f 21 广西 2019 计算机学院

输出样例:
总计n行,显示 n个学生的信息(学号、姓名、性别、年龄、籍贯、入学年份、所在学院),每个学生信息占一行,学号、姓名、性别、年龄、籍贯、入学年份、所在系用空格分隔。

1001 Jack f 20 湖北 2019 理学院
1002 Sam m 19 江西 2019 信息学院
1003 Marry f 21 湖南 2019 外语学院
1004 David m 20 安徽 2019 资环学院
1005 Susan f 21 广西 2019 计算机学院

代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB

void input(student stu[], int n)
{
    for (int i = 0; i < n; i++)
    {
        scanf("%d %s %c %d %s %d %s",
              &stu[i].num,
              stu[i].name,
              &stu[i].sex,
              &stu[i].age,
              stu[i].province,
              &stu[i].year,
              stu[i].depart);
    }
}

void output(student stu[], int n)
{
    for (int i = 0; i < n; i++)
    {
        printf("%d %s %c %d %s %d %s\n",
               stu[i].num,
               stu[i].name,
               stu[i].sex,
               stu[i].age,
               stu[i].province,
               stu[i].year,
               stu[i].depart);
    }
}

需要注意的地方是stu做结构体的名字,输入输出需要使用一个循环将所有的信息包括,输入输出各个变量中间要留下空格。输入时候数组变量不需要取地址符,因为数组编号本身就是起到地址的作用。

你可能感兴趣的:(算法,c++,c语言)