#include <stdio.h>
#include <stdlib.h>
#define MAXN 80
struct student
{
int id;
char name[MAXN];
};
// 使用动态分配函数,创建一个长度为n的学生结构体数组
// 根据用户的输入为这n个学生赋值,并返回第一个元素地址
struct student *create(int n);
// 根据id输出学生信息
void output(struct student *stds, int n, int id);
// 输出所有学生信息
void outputall(struct student *stds, int n)
{
for (int i = 0; i < n; i++)
{
printf("%d %s\n", stds[i].id, stds[i].name);
}
}
int main()
{
int n, m;
scanf("%d %d", &n, &m);
struct student *p = create(n);
while (m--)
{
int id;
scanf("%d", &id);
if (id == 0)
outputall(p, n);
else
output(p, n, id);
}
delete[] p;
return 0;
}
struct student * create(int n)
{
student *s = new student[n];
for (int i=0; i<n; i++){
scanf("%d %s",&s[i].id,s[i].name);
// printf("%d %s\n",s[i].id,s[i].name);
}
return s;
}
void output(struct student *stds, int n, int id)
{
for (int i = 0; i < n; i++)
{
if (stds[i].id == id)
{
printf("%d %s\n", stds[i].id, stds[i].name);
break;
}
if (i == n - 1)
printf("no such a student\n");
}
}
/*
5 4
111 aaa
222 bbb
333 ccc
444 ddd
555 eee
111
555
0
666
输出:
111 aaa
555 eee
111 aaa
222 bbb
333 ccc
444 ddd
555 eee
no such a student
*/
c++/c 数据结构 new
最新推荐文章于 2022-07-21 10:28:05 发布