c语言结构体中的冒泡排序

2023-05-16

题目:使用结构体以及函数,首先录入学生信息,依据学生成绩,对学生相关信息进行排序。

#include <stdio.h>
#include <string.h>

struct stu_informa
{
	int id;
	char name[20];
	int sore;	
};

void struct_input(struct stu_informa stu[],int n)
{
	int i;
	for(i=0;i<n;i++)
	{
		printf("请输入第%d个学生信息(id、name、sore):\n",i);
		scanf("%d",&stu[i].id);
		getchar();
		gets(stu[i].name);
		scanf("%d",&stu[i].sore);
		getchar();
	}
	printf("\n");
}

void struct_print(struct stu_informa stu[],int n)
{
	int i;
	for(i=0;i<n;i++)
	{
		printf("\n");
		printf("stu[%d].id=%d\n",i,stu[i].id);
		printf("stu[%d].name=%s\n",i,stu[i].name);
		printf("stu[%d].sore=%d\n",i,stu[i].sore);	
	}
}

void struct_paixu(struct stu_informa stu[],int n)
{
	int i,j;
	struct stu_informa  temp;
	for(i=0;i<n-1;i++)
	{
		for(j=0;j<n-1-i;j++)
		{
			if(stu[j].sore>stu[j+1].sore)
			{
				temp=stu[j];
				stu[j]=stu[j+1];
				stu[j+1]=temp;	
			}
		}	
	}	
}
void test(void)
{
	struct stu_informa stu[3];
	struct_input(stu,3);
	struct_paixu(stu,3);
	struct_print(stu,3);
}
int main()
{
	test();
	
	return 0;
} 

运行结果:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c语言结构体中的冒泡排序 的相关文章

  • VMware虚拟机安装centos7,第一次登录时输入正确的密码仍提示抱歉,没有工作,请再试一遍

    使用VMware虚拟机安装centos7 xff0c 首次登录时已经输入了正确的密码仍然提示 34 sorry that didn t work please try again 34 输入密码时使用物理键盘 xff08 有的说输入数字时要
  • Day_01_服务器硬件常识与redhat环境基础配置

    服务器的应用场景 常见的三种文件共享服务 xff1a SMB FTP CMS 数据库 xff1a 管理和使用 xff0c 增删改查 xff0c 授权 xff0c 改授权 邮件 xff1a 正式的沟通交流都是以邮件通知为主 web serve
  • Java基本数据类型

    四大类 1 整型 byte short int long 2 浮点型 float double 3 字符型 char 4 布尔型 boolean
  • 自动拆装箱

    自动装箱就是Java自动将原始类型值转换成对应的对象 xff0c 比如将int的变量转换成Integer对象 xff0c 这个过程叫做装箱 xff0c 反之将Integer对象转换成int类型值 xff0c 这个过程叫做拆箱 因为这里的装箱
  • string为会么不可变,String、StringBuilder、StringBuffer的区别

    String 类中使用 final 关键字字符数组保存字符串 xff0c 所以 String 对象是不可变的 而StringBuilder 与 StringBuffer 都继承自 AbstractStringBuilder 类 xff0c
  • JAVA IO流

    IO常用类 文件流 xff1a FileInputStream FileOutputStream xff0c FileReader FileWriter 这四个类是专门操作文件流的 xff0c 用法高度相似 xff0c 区别在于前面两个是操
  • JAVA反射

    JAVA反射机制是在运行状态中 xff0c 对于任意一个类 xff0c 都能够知道这个类的所有属性和方法 xff1b 对于任意一个对象 xff0c 都能够调用它的任意一个方法和属性 xff1b 这种动态获取的信息以及动态调用对象的方法的功能
  • java 哪些源码需要细看

    String Integer Long Enum Big ThreadLocal CloseLoader ArrayList amp LinkedLis Map HashMap Set
  • 算法中时间复杂度概括——o(1)、o(n)、o(logn)、o(nlogn)

    O后面的括号中作为一个函数 xff0c 指明某个算法的耗时 耗空间与数据增长量之间的关系 其中的n代表输入数据的量 比如时间复杂度为O n xff0c 就代表数据量增大几倍 xff0c 耗时也增大几倍 比如常见的遍历算法 再比如时间复杂度O
  • 怎么禁止/开启Ubuntu自动更新升级

    当你打开Ubuntu系统时经常会弹出软件更新升级提示框 xff0c 因为Ubuntu包括上面装的很多软件也都是开源系统 xff0c 更新升级是很频繁的 xff0c 对于经常弹出的更新提示无非是两种应对措施 xff0c 要么安装 xff0c
  • 六大设计模式

    单一职责 开闭原则 李氏替换原则 LSP 门面的实现 依赖倒转原则 DIP 服务指向契约 契约绑定实现 接口隔离原则 ISP 接口对应一种角色 最少知道原则 类之间的弱耦合 需要反复度量
  • centos安装jdk

    1 下载自己系统对应版本 2 到该文件所在目录执行命令 rpm ivh jdk 8u221 linux x64 rpm 3 默认安装在 usr java jdk1 8 0 221 amd64目录下 4 环境变量配置 xff1a cd etc
  • ESC上搭建spring boot

    一 打包项目 a 单击IDEA右上角Maven b 依次双击 demo gt Lifecycle gt package xff0c 开始打包 执行结果如下 xff0c 图中标记位置为打包后jar包的路径 二 运行ECS上的Java项目 执行
  • win10 安装配置mysql8

    1 下载 https tomcat apache org 选择自己需要的版本 2解压 3配置环境变量 略 4配置my ini 在 MYSQL HOME 下新建my int文件 xff0c 内容如下 span class token punc
  • idea调用javap

    idea 配置javap 具体参数设置如下 program span class token variable JDKPath span span class token punctuation span bin span class to
  • Rust Web(一)—— 自建TCP Server

    前段时间小小学习了一下Rust的基础内容 xff0c 出于学习Web开发的需求 xff0c 也为巩固学过的Rust基础 xff0c 就尝试记录一下自己学习 Rust Web 的点滴 xff1b 实现环境 OS Ubuntu 14 0 IDE
  • ajax传递数组怎么传?ajax数组传递

    在我们平时的开发中 xff0c 经常会需要用到ajax xff0c 关于ajax是什么 xff0c 又该如何传递参数 xff0c 相信通过上几篇文章你们已经有所了解 但是 xff0c ajax中要如何传递数组你们又知道吗 xff1f 今天我
  • linux安装node和达梦数据库8

    PS 本次测试只是为了项目需要 xff0c 但是在部署和启动程序的时候发生了一系列的报错 xff0c 由此记录下来为日后作参考 安装达梦数据库 1 达梦数据库 DM8 简介 达梦数据库管理系统是武汉达梦公司推出的具有完全自主知识产权的高性能
  • pyqt5+mysql+多线程爬虫实现 python 携程机票爬虫 数据可视化

    基本目录 数据来源与获取方法数据来源网页分析 实现效果完整代码与说明文档 数据来源与获取方法 数据来源 携程机票查询https flights ctrip com online channel domestic 网页分析 我们的目的是要爬取

随机推荐

  • debian9.8添加iso为本地源

    1 临时添加 使用mount临时挂载 注意需要在root权限下操作 一 将系统镜像文件复制到电脑任意路径下 xff0c 我这里复制到 home路径下 二 自己创建一个挂载目录 xff0c 我创建的是 mnt cdrom目录 xff0c 命令
  • 剖析AVFrame

    AVFrame是FFmpeg中非常重要的数据结构 xff0c 其封装了解码后的媒体数据 在FFmpeg之中 xff0c 有几个比较重要的音视频概念 xff1a pixel format xff1a 表示像素格式 xff0c 图像像素在内存中
  • The package javax.swing is not accessible错误的三种解决办法,亲测有效

    万次阅读 xff0c 150 43 点赞 xff0c 如若对您有帮助 xff0c 请及时点赞 xff0c 不要白嫖 解决办法 xff1a 更换JRE系统库的版本解决办法 xff1a 另外一个比较暴力的解决办法是点击java swing 解决
  • error: binding reference of type int& to const int discards qualifiers

    span class token macro property span class token directive keyword include span span class token string lt iostream gt s
  • request for member in , which is of pointer type

    原因 其实就是因为结构体成员引用符 34 34 和指针的箭头运算符 gt 用错了 只要根据自己的代码把 点 和 gt 改回去就行了
  • 结构体对齐问题(转)

    一个结构体变量定义完之后 xff0c 其在内存中的存储并不等于其所包含元素的宽度之和 例一 xff1a span class token macro property span class token directive keyword i
  • java.net.SocketException: Broken pipe (Write failed)发生原因及其解决办法

    先运行B main 再运行A main 先运行B的main xff0c 然后由于B有accepte的执行 xff0c 所以B那块先阻塞 xff0c 然后点击执行A main的时候会执行A的socket连接 xff0c 然后B监听到了之后立即
  • Matlab进行多项式拟合

    觉得有用的先点赞后收藏 xff0c 不要只收藏不点赞 xff01 xff01 1 一个坐标系里面绘制多个函数图像 clear clc x span class token operator 61 span span class token
  • K-Means聚类算法及其python实现(已附上代码至本博客)

    目录 一 算法公式讲解二 算法流程三 算法实现代码四 代码结果分析五 K Means库函数六 K Means算法时间复杂度 一 算法公式讲解 对于 n代表了x有n维 xff0c x上标j表示第j维的特征 xff0c 下标i表示该向量是第i个
  • The server quit without updating PID file

    我本地Mac电脑爆的错误 xff01 xff01 xff01 总体解决办法有两个 xff0c 方法一 1 可能是 usr local MySQL data mysqld pid文件没有写的权限 解决方法 xff1a 给予权限 xff0c 执
  • Could not find artifact com.github.pagehelper:pagehelper-spring-boot:jar:1.4

    我的情况是导入1 4 2版本的pagehelper spring boot就爆错 xff0c 但是导入了1 3 0版本的pagehelper spring boot就不爆错了 xff0c 后面又导入了一次1 4 2版本的pagehelper
  • No primary or single public constructor found for interface java.util.List

    我的爆错原因是途中ids忘记标注注解 64 PathVariable了 xff0c 因为要传入一系列的整数的列表对象到路径 emps deleteEmps ids 中 xff0c 所以我这里就是加上注解 64 PathVariable就OK
  • 数据结构之用堆栈判断回文

    回文判断 回文是指正读反读均相同的字符序列 xff0c 如 abba 和 abdba 均是回文 xff0c 但 good 不是回文 编写一个程序 xff0c 使用栈判定给定的字符序列是否为回文 输入格式 输入待判断的字符序列 xff0c 按
  • 单片机外部中断实验

    目录 1 概述 2 原理 3 硬件和软件设备 4 步骤 5 结果 xff08 分析 xff09 1 概述 联系程序设计 xff0c 并熟悉外部中断和按钮的使用 xff1b 掌握单片机外部中断程序的设计方法 xff1b 在外部中断0处接一个开
  • 自定义Rust安装路径,自定义安装Rust

    首先我们知道使用https www rust lang org zh CN tools install官方下载器下载安装的rust主要有两个文件夹 xff0c 而且会默认生成到C盘下 但是 xff0c 我们通过修改环境变量可以自定义安装路径
  • HTML基础(一)

    本文是作者在学习html过程中对知识的初步整理 1 第一个程序 span class token doctype lt DOCTYPE html gt span span class token tag span class token t
  • 结构体的数组

    结构数组 也就是结构体的数组 的组成 xff1a struct 结构名 变量名 数组大小 span class token macro property span class token directive hash span span c
  • kali详细安装教程

    vmware虚拟机下载地址 xff1a https www vmware com cn products workstation pro workstation pro evaluation html kali ISO镜像 https cd
  • Armbian (jammy) 上安装 Docker

    一 Armbian 的软件源配置 Ubuntu 的软件源配置文件是 etc apt sources list 默认注释了源码镜像以提高 apt update 速度 xff0c 如有需要可自行取消注释 deb https mirrors tu
  • c语言结构体中的冒泡排序

    题目 xff1a 使用结构体以及函数 xff0c 首先录入学生信息 xff0c 依据学生成绩 xff0c 对学生相关信息进行排序 include lt stdio h gt include lt string h gt struct stu