日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

按学生成绩排序

發布時間:2025/4/5 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 按学生成绩排序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

已知學生結構體如下:
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();
}

總結

以上是生活随笔為你收集整理的按学生成绩排序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。