数据结构D1作业

时间:2024-02-20 19:03:25
#include<stdio.h>
#include<string.h>
typedef struct stu
{
    char name[20];
    double height;
    int score;
}stu,*stu_p;
int main(int argc, const char *argv[])
{
    int i=0;
    int j=0;
    char temp_name[20]="";
    int temp_score=0;
    double temp_height=0;
    stu arr[7]={};
    stu_p p=arr;
    for(i=0;i<7;i++)
    {
        printf("请输入学生姓名>>");
        scanf("%s",(p+i)->name);
        printf("请输入学生身高>>");
        scanf("%lf",&((p+i)->height));
        printf("请输入学生成绩>>");
        scanf("%d",&((arr+i)->score));
    }
    for(i=0;i<6;i++)
    {
        for(j=0;j<6-i;j++)
        {
            if((*(p+j)).score>(*(p+j+1)).score)
            {
                temp_score=(*(p+j)).score;
                (*(p+j)).score=(*(p+j+1)).score;
                (*(p+j+1)).score=temp_score;
                temp_height=(*(p+j)).height;
                (*(p+j)).height=(*(p+j+1)).height;
                (*(p+j+1)).height=temp_height;
                strcpy(temp_name,(p+j)->name);
                strcpy((p+j)->name,(p+j+1)->name);
                strcpy((p+j+1)->name,temp_name);
            }
        }
    }
    for(i=0;i<7;i++)
    {
        printf("%d\t",(*(p+i)).score);
    }
    printf("\n");
    return 0;
}