zoukankan      html  css  js  c++  java
  • 按学生成绩排序

    已知学生结构体如下:
    struct student 
    {
     int num;
     char name[8];
     char sex;
     int age;
     float grade;
    };
    要求按照学生成绩进行排序,输出排序后的结果。

    #include<stdio.h>
    #include
    <conio.h>
    #include
    <string.h>
    #define N 10
    extern unsigned _floatconvert;    /*防止floating point formats not linked 错误发生*/
    #pragma extref _floatconvert

    typedef 
    struct student    
    {
        
    int num;
        
    char name[8];
        
    char sex;
        
    int age;
        
    float grade;
    }STU;

    STU stu[N]
    ={{101,"Zhang",'M',19,95.6},
                {
    102,"Wang" ,'F',18,92.4},
                {
    103,"Zhao" ,'M',19,85.7},
                {
    104,"Li"   ,'M',20,96.3},
                {
    105,"Gao"  ,'M',19,96.4},
                {
    106,"Lin"  ,'M',18,91.5},
                {
    107,"Ma"   ,'F',17,98.7},
                {
    108,"Zhen" ,'M',21,90.1},
                {
    109,"Xu"   ,'M',19,89.8},
                {
    110,"Mao"  ,'F',18,94.9}};

    void print(STU *p[])
    {
        
    int i;
        printf(
    "num\tname\tsex\tage\tgrade\n");
        
    for(i=0;i<N;i++)
        {
            printf(
    "%d\t%s\t%c\t%d\t%5.1f\n",p[i]->num,p[i]->name,p[i]->sex,p[i]->age,p[i]->grade);
        }
    }

    void gradebub(STU *p[])
    {
        STU 
    *temp;
        
    int i,j,flag;
        
    for(i=0;i<N-1;i++)
        {
            flag
    =0;
            
    for(j=0;j<N-i-1;j++)
                
    if(p[j]->grade>p[j+1]->grade)
                {
                    temp
    =p[j];p[j]=p[j+1];p[j+1]=temp;
                    flag
    =1;
                }
            
    if(flag==0)    break;
        }
    }

    void main()
    {
        
    int i;
        STU 
    *p[N];
        
    for(i=0;i<N;i++)
            p[i]
    =&stu[i];
        print(p);
        printf(
    "\n");
        gradebub(p);
        print(p);
        getch();
    }
  • 相关阅读:
    Codeforces G. Ciel the Commander
    点分治模板
    Codeforces I. Vessels(跳转标记)
    Codeforces C. Maximum Value(枚举二分)
    Codeforces D. Little Elephant and Interval(思维找规律数位dp)
    [USACO15DEC]最大流Max Flow(树上差分)
    Codeforces E. Alyona and a tree(二分树上差分)
    一致性Hash算法
    零拷贝
    Maven 指定范围依赖
  • 原文地址:https://www.cnblogs.com/qixin622/p/734429.html
Copyright © 2011-2022 走看看