8-数据类型_处理5个学生的数据

数据结构练习:
  • 构造一个学生类型 : 姓名, 年龄, 学号, 成绩
  • 处理5个学生的数据;
  • 循环输入学生信息;
  • 找出成绩最高的学生, 并且打印其信息(注意:不要排序).
  • 按照成绩排序, 并且打印其信息.
#include <stdio.h>

typedef struct student
{
    char name[128];
    int age;
    int id;
    int score;
}stu_t;
void input_info(stu_t *p,int n);
stu_t *get_max_info(stu_t *p, int n);
void max_min(stu_t *p, int n);
void print_info(stu_t *p, int n);
int main(int argc, const char *argv[])
{
    int i;
    stu_t *max;
    stu_t stu[5];
    input_info(stu, 5);
    max = get_max_info(stu,5);
    for(i = 0; i < 5; i++)
    {
        if(max->score == stu[i].score)
        {
            printf("最高成绩为: NAME:%s  AGE:%d  ID:%d  SCORE:%d\n",stu[i].name, stu[i].age, stu[i].id, stu[i].score);
        }
    }

    max_min(stu, 5);
    print_info(stu,5);

    return 0;
}
void input_info(stu_t *p,int n)
{
    int i;

    for(i = 0; i < n; i++)
    {
        printf("NAME\tAGE\tID\tSCORE\n");
        scanf("%s%d%d%d",p[i].name, &p[i].age,&p[i].id, &p[i].score);
    }
}

stu_t *get_max_info(stu_t *p, int n)
{
    int i;
    stu_t *hs = p;
    for(i = 0; i < n; i++)
    {
        if(hs->score < p[i].score)
            hs = &p[i];
    }
    return hs;
}

void max_min(stu_t *p, int n)
{
    int i, j;
    stu_t temp;

    for(i = 0; i < n-1; i++)
    {
        for(j = 0; j < n-1-i; j++)
        {
            if(p[j].score < p[j+1].score)
            {
                temp = p[j];
                p[j] = p[j+1];
                p[j+1] = temp;
            }
        }
    }
}


void print_info(stu_t *p, int n)
{
    int i;

    printf("*********************************\n");
    for(i = 0; i < n; i++)
    {

        printf("NAME:%s  AGE:%d  ID:%d  SCORE:%d\n",p[i].name, p[i].age, p[i].id, p[i].score);
    }
    printf("*********************************\n");
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,225评论 18 399
  • 一. Java基础部分.................................................
    wy_sure阅读 9,280评论 0 11
  • 50个常用的sql语句Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname...
    哈哈海阅读 4,999评论 0 7
  • 她终于有了自己的一座小房子可以爬到屋顶的那种,她喜欢月亮喜欢一个人自得其乐,她会在有凉风吹过的夜晚自己爬上去枕着手...
    风遇阅读 1,170评论 0 1
  • “最近也没什么事,有谁想做兼职么?”六安在宿舍问道。 此时宿舍只有三个人,老常半躺在床上玩着手机,小胖不知道在电脑...
    安之以北阅读 2,241评论 0 0