C语言求助:定义一个学生结构体数组stu[10],结构体类型?

1·定义一个学生结构体数组stu[10],结构体类型struct student
{
int num;//成员num (学号)的类型为整型
char name[21];//成员name (姓名)的类型为字符数组
char sex;//成员sex(性别)的类型为字符型
int age; //成员score(分数)的类型为double类型
};
2﹑从键盘输入10结构体变量的值,并输出
3﹑从键盘输入学号,查找是否有该学生,若找到输出结构体变量的值,否则输出未找到○

在线等,急



#include <stdio.h>


#define N 10


typedef struct student {

        int num;//成员num (学号)的类型为整型

        char name[21];//成员name (姓名)的类型为字符数组

        char sex;//成员sex(性别)的类型为字符型

        int age; //成员score(分数)的类型为double类型

}stu;


void show(stu a[],int n) {

        for(int i = 0; i < n; ++i)

                printf("%d\t%d\t%s\t%c\t%d\n",i + 1,a[i].num,a[i].name,a[i].sex,a[i].age);

        printf("\n\n");

}


int find(stu a[],int n,int num) {

        for(int i = 0; i < n; ++i) {

                if(a[i].num == num) {

                        printf("%d\t%s\t%c\t%d\n",a[i].num,a[i].name,a[i].sex,a[i].age);

                        return i;

                }

        }

        return 0;

}


int main() {

        int i,num;

        stu a[N];

        for(i = 0;i < N; ++i) {

                scanf("%d",&a[i].num,a[i]);

                fflush(stdin);

                scanf("%s",a[i].name);

                fflush(stdin);

                scanf("%c",&a[i].sex);

                scanf("%d",&a[i].age);

        }

        show(a,N);

        printf("请输入待查学号:");

        scanf("%d",&num);

        if(!find(a,N,num)) printf("\n没有找到学号为%d的学生!\n",num);

        return 0;

}

追问

我想知道这程序要怎么运行,因为我打出来可以运行但用不了就不能像你图片上那样

追答

输入过程太长,这里无法显示,只截取了部分内容。运行方法是按结构成员的顺序输入各个数据,共10个。

温馨提示:答案为网友推荐,仅供参考
相似回答