如何用结构体数组玩成绩

2025-10-28 20:56:59

1、struct student

{

    int score;

    char *name;

};//定义一个结构体

2、    int i;

    struct student stus[3];//定义结构体数组

    

    //找最高分

    struct student maxstu;

    struct student minstu;

3、for(i=0;i<sizeof(stus)/sizeof(stus[0]);i++){

    printf("请输入%d个学生的名字:\n",i+1);

    stus[i].name = (char*)malloc(128);

    scanf("%s",stus[i].name);//对于字符串数组或字符串指针变量,由于数组名可以转换为数组和指针变量名本身就是地址,因此使用scanf()函数时,不需要在它们前面加上"&"操作符。

4、printf("请输入%d个学生的分数:\n",i+1);

    scanf("%d",&stus[i].score);

    }

5、for(i=0;i<sizeof(stus)/sizeof(stus[0]);i++){

        printf("第%d个学生的名字和分数:",i+1);

        printf("%s:%d\n",stus[i].name,stus[i].score);

        

    }

6、maxstu = minstu = stus[0];

    

    for(i=0;i<sizeof(stus)/sizeof(stus[0]);i++){

        if(maxstu.score<stus[i].score){

            maxstu = stus[i];

        }

7、   if(maxstu.score>stus[i].score){

            maxstu = stus[i];

        }

    }

8、 puts("==================================================");

    printf("考最高分的是:%s:%d\n",maxstu.name,maxstu.score);

    printf("考最低分的是:%s:%d\n",minstu.name,minstu.score);

9、运行程序

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢