C语言:将结构体数组的成绩按照从小到大进行排序。

#include<stdio.h>

typedef struct student

{

char *name;

int sno;

int age;

float score;

}Student;

void sortScore(Student st[],int len)

{

int flag = 0;

for(int i=0;i<len-1;i++)

{

flag = 1;

for(int j=0;j<len-1-i;j++)

{

if(st[j].score>st[j+1].score)

{

Student temp = st[j];

st[j] = st[j+1];

st[j+1] = temp;

}

}

if(flag==0)

{

break;

}

}

}

void printStudent(Student stu[],int len)

{

for(int i=0;i<len;i++)

{

printf("name:%s,sno:%d,age:%d,score:%.1f\n",stu[i].name,stu[i].sno,

stu[i].age,stu[i].score);

}

}

int main()

{

Student stu[3] = {{"Tom",1101,18,99.2},

{"Boy",1102,20,98.1},

{"Smith",1103,22,99.0}};

sortScore(stu,3);

printStudent(stu,3);

return 0;

}

时间: 2024-11-06 16:34:21

C语言:将结构体数组的成绩按照从小到大进行排序。的相关文章

【C语言】用结构体数组完成:有5个学生(包括学号,姓名,成绩),要求按照成绩高低输出学生信息

//用结构体数组完成:有5个学生(包括学号,姓名,成绩),要求按照成绩高低输出学生信息 #include <stdio.h> struct Stu { int num; char name[20]; int score; }; int main() { int i,j; struct Stu student[5]={{317,"han",89},{318,"hu",50},{319,"kang",84},{320,"li&q

C语言 结构体(嵌套结构体--结构体数组)

//结构体--嵌套结构体和结构体数组 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct _parent{ int num; char name[30]; //结构体内部定义结构体,如果不定义嵌套结构体变量,那么该嵌套结构体的属性则会被当作父结构体的属性 struct son{ int age; char sna

C语言中的结构体,结构体数组

C语言中的结构体是一个小难点,下面我们详细来讲一下:至于什么是结构体,结构体为什么会产生,我就不说了,原因很简单,但是要注意到是结构体也是连续存储的,但要注意的是结构体里面类型各异,所以必然会产生内存对齐的问题.也就是内存里面会有空档. 1.结构体的定义和赋值 结构体是可以直接初始化的,在定义的时候,就可以初始化,而且如果你的结构体中恰好有字符数组的话,这个时候初始化是不错的选择,原因很简单,字符数组只能定义的时候直接初始化 后来就不可以了,后来你就只能用strcpy函数来拷贝初始化了. str

C语言——结构体数组的使用案例(如何判断两个矩形是否相交,其中一个是否包含在另外一个里面,点是否在矩形中)

Rect.h struct CPoint { float x; float y; }; typedef struct CPoint CPoint; struct CSize { float width; float height; }; typedef struct CSize CSize; struct CRect { CPoint origin; CSize size; }; typedef struct CRect CRect; //判断两个矩形是否相交 BOOL isIntersecti

【C语言】用结构体数组指针完成:有三个学生信息,存放在结构体数组中,要求输出全部信息

//用结构体数组指针完成:有三个学生信息,存放在结构体数组中,要求输出全部信息 #include <stdio.h> struct Stu { int num; char name[20]; char sex; int age; }; int main() { struct Stu student[3]={{317,"han",'m',20},{318,"hun",'w',22},{311,"dan",'w',18}}; struct

【C语言】用结构体数组实现:有三个候选人,每个选民只能选一个人,编写一个选票程序,最终输出候选人的票数

//用结构体数组实现:有三个候选人,每个选民只能选一个人,编写一个选票程序,最终输出候选人的票数(假设有十个选民) #include <stdio.h> #include <stdio.h> struct Person //声明结构体 { char name[20]; int count; }leader[3]={"li",0,"zhang",0,"sun",0}; //定义结构体数组并初值化 int main() { i

C语言结构体数组内带字符数组初始化和赋值

1.首先定义结构体数组: typedef struct BleAndTspRmtCmd{ char terminal[3]; char note[3]; char rmtCmd[10]; char cmdPropt[24];}; BleAndTspRmtCmd为结构体名,可以通过这个结构体名定义其他结构体变量,struct BleAndTspRmtCmd variable: 或者定义结构体数组变量,struct BleAndTspRmtCmd variable[]: 2.或者定义全局结构体变量,

c语言中结构体指针

1.指向结构体的指针变量: C 语言中->是一个整体,它是用于指向结构体,假设我们在程序中定义了一个结构体,然后声明一个指针变量指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到指向运算符"->". 举例说明: struct SunLL { int a; int b; int c; }; struct SunLL  * p;               //定义结构体指针 struct SunLL A = {1,2,3};    //定义一个SunLL类型的变量A

NumPy-快速处理数据--ndarray对象--多维数组的存取、结构体数组存取、内存对齐、Numpy内存结构

本文摘自<用Python做科学计算>,版权归原作者所有. 上一篇讲到:NumPy-快速处理数据--ndarray对象--数组的创建和存取 接下来接着介绍多维数组的存取.结构体数组存取.内存对齐.Numpy内存结构 一.多维数组的存取 多维数组的存取和一维数组类似,因为多维数组有多个轴,因此它的下标需要用多个值来表示,NumPy采用组元(tuple)作为数组的下标.如二维数组需要(x, y)的元组标记一个数组元素:三维数组需要(x, y, z)的元组标记一个元素. 如下图所示,a为一个6x6的二