对于上图问题明明思路对了,为什么打印不出来!是代码哪里错了吗,能否解释下为什么?
```c
#include
#include
struct student
{
char num[1000];
int computer_num[100];
int text_num[100];
}text;
int main()
{
int N, M;
int sch[100];
scanf("%d", &N);
for (int i = 0; i < N; i++)
{
scanf("%s %d %d\n", &text.num[i], &text.computer_num[i], &text.text_num[i]);
}
scanf("%d", &M);
for (int i = 0; i < M; i++)
scanf("%d", &sch[i]);
for (int k = 0; k for (int j = 0; j < N; j++)
{
if (text.computer_num[j] == sch[j])
{
printf("%s %d\n", text.num[j], text.text_num[j]);
}
}
}
return 0;
}
```
你这个数据结构有点莫名奇妙
num是学生的学号,一个串,后面两个是整数,可为啥是数组呢?text到底是代表一个学生,还是一堆学生?如果是一堆学生,那应该是
struct student
{
char num[1000];
int computer_num;
int text_num;
}text[1000];这样子
或者
struct student
{
char num[1000][100];
int computer_num[100];
int text_num[100];
}text; 这样子。