账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    C语言问题 结构体
    26
    0

    一道学校留的题目
    请定义一个描述学生基本信息的结构,包括姓名,学号,籍贯,身份证号,年龄,家庭住址,性别,联系方式等。并定义一个结构体数组。编程:

    a) 编写函数 input(), 输入基本信息(3~5 条记录);

    b) 编写函数 print(),输出全体记录信息;

    c) 编写函数 search(), 检索一个指定的学生信息并返回, 由主函数打印到屏幕上。
    【输入形式】学生数量N

    N个学生的姓名 学号 籍贯 身份证号 年龄 家庭住址 性别 联系方式

    要查找的学生姓名

    【输出形式】N个学生的姓名,学号,籍贯,身份证号,年龄,家庭住址,性别,联系方式

    以及要查找的学生的姓名,学号,籍贯,身份证号,年龄,家庭住址,性别,联系方式

    【样例输入】

    3
    zhang 19920101 beijing 255141199201015656 25 beijing m 12114145654
    li 18850202 liaoning 210212188502020303 14 liaoning w 14156865959
    wang 121 tianjin 251242655252 20 tianjin m 12542542
    zhang
    

    【样例输出】

    zhang,19920101,beijing,255141199201015656,25,beijing,m,12114145654
    
    li,18850202,liaoning,210212188502020303,14,liaoning,w,14156865959
    
    wang,121,tianjin,251242655252,20,tianjin,m,12542542
    
    zhang,19920101,beijing,255141199201015656,25,beijing,m,12114145654
    
    

    我的代码:

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    struct student
    {
        char name[20] ;
        char num[15];
        char id[20];
        int age;
        char address[100];
        char addresss[100];
        char sex;
        char phone[15];
    }stu[5];
    void input(struct student stu[], int n);
    void print(struct student stu[],int n);
    void search(struct student stu[], char name[],int n);
    int main()
    {
        char name[20];
        int n;
        scanf("%d", &n);
        input(stu, n);
        scanf("%s", name);
        print(stu, n);
        search(stu, name, n);
        system("pause");
        return 0;
    }
    void input(struct student stu[], int n) {
        for (int i = 0; i < n; i++) {
            scanf("%s",stu[i].name);
            scanf("%s", stu[i].num);
            scanf("%s", stu[i].address);
            scanf("%s", stu[i].id);
            scanf("%d", &stu[i].age);
            scanf("%s", stu[i].addresss);
            scanf("%c", &stu[i].sex);
            scanf("%s", stu[i].phone);
        }
    }
    void print(struct student stu[],int n) {
        for (int i = 0; i < n; i++) {
            printf("%s,%s,%s,%s,%d,%s,%c,%s\n", stu[i].name, stu[i].num, stu[i].address, stu[i].id, stu[i].age, stu[i].addresss, stu[i].sex,stu[i].phone);
        }
    }
    void search(struct student stu[], char name[],int n) {
        for (int i = 0; i < n; i++) {
            if (strcmp(stu[i].name, name) == 0)
                printf("%s,%s,%s,%s,%d,%s,%c,%s\n", stu[i].name, stu[i].num, stu[i].address, stu[i].id, stu[i].age, stu[i].addresss, stu[i].sex, stu[i].phone);
        }
    }
    

    请问是哪里出错了啊 我这个代码输出的不对 初学者谢谢各位!

    0
    打赏
    收藏
    点击回答
        全部回答
    • 共 0 条
    • 你爱笑 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部