
这个程序真的很有意思,就是不怎么会写,寻有缘人解开这个谜题,真的很有趣,大家可以思考一下
#include <stdio.h>
void query(int **table, int n, int stuID)
{
for (int i = 0; i < n; i++)
{
if (table[i][0] == stuID)
{
printf("%10d", table[i][0]);
for (int j = 1; j < 5; j++)
printf("%4d", table[i][j]);
printf("\n");
return;
}
}
printf("%10d", stuID);
for (int j = 0; j < 4; j++)
printf("%4d", -1);
printf("\n");
}
void queryAll(int **table, int n)
{
for (int i = 0; i < n; i++)
{
printf("%10d", table[i][0]);
for (int j = 1; j < 5; j++)
printf("%4d", table[i][j]);
printf("\n");
}
}
int main()
{
int n, m, i, j, t;
int **stu, *sch;
scanf("%d%d", &n, &m);
stu = (int **)malloc(sizeof(int *) * n);
for (i = 0; i < n; i++)
stu[i] = (int *)malloc(sizeof(int) * 5);
sch = (int *)malloc(sizeof(int) * m);
for (i = 0; i < n; i++)
for (j = 0; j < 5; j++)
scanf("%d", &stu[i][j]);
for (i = 0; i < m; i++)
scanf("%d", &sch[i]);
for (i = 0; i < m; i++)
query(stu, n, sch[i]);
queryAll(stu, n);
return 0;
}