当前位置: 首页 > news >正文

day1数据结构,关键字,内存空间存储与动态分区,释放

小练习

在堆区空间连续申请5个int类型大小空间,用来存放从终端输入的5个学生成绩,然后显示5个学生成绩,再将学生成绩升序排序,排序后,再次显示学生成绩。显示和排序分别用函数完成(两种排序方法)

要求:用malloc和free完成

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int *put(int *p);//输出成绩声明
int *swap(int *p);//冒泡排序函数声明
int *swap2(int *p);//选择排序声明
int main(int argc, const char *argv[])
{int *p=(int *)malloc(sizeof(int)*5);//申请5个int类型堆空间for(int i=0;i<5;i++){scanf("%d",p+i);//输入成绩}printf("你输入的成绩为:");put(p);//调用输出函数swap(p);//调用冒泡排序函数//swap2(p);//调用选择排序函数printf("排序升序后的值为:");put(p);return 0;free(p);//释放内存p=NULL;//指针指向空,避免野指针 
}
int *put(int *p)//输出函数
{for(int i=0;i<5;i++){printf("%d ",*(p+i));}putchar(10);
}
int *swap(int *p)//冒泡排序
{int temp;for(int i=0;i<5;i++)for(int j=0;j<4-i;j++){if(*(p+j)>*(p+j+1)){temp=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)=temp;}}
}
int *swap2(int *p)//选择排序
{int temp;int min;for(int i=0;i<5;i++){min=i;for(int j=i+1;j<5;j++){if(*(p+min)>*(p+j))min=j;}temp=*(p+min);*(p+min)=*(p+i);*(p+i)=temp;}
}

运行截图

http://www.lryc.cn/news/503951.html

相关文章:

  • 1_linux系统网络性能如何优化——几种开源网络协议栈比较
  • 【问题记录】07 MAC电脑,使用FileZilla(SFTP)连接堡垒机不成功
  • 前端报错npm ERR cb() never called问题
  • 康谋方案 | 多源相机数据采集与算法集成测试方案
  • Graspness 端到端抓取点估计 | 环境搭建 | 模型推理测试
  • 交换机是如何避免数据碰撞的(详细解释 + 示例)
  • 魅族手机刷官方系统
  • 女人想要的,是那份懂她的情绪价值
  • [python SQLAlchemy数据库操作入门]-10.性能优化:提升 SQLAlchemy 在股票数据处理中的速度
  • 【网络取证篇】取证实战之PHP服务器镜像网站重构及绕密分析
  • [python]使用 Pandas 处理 Excel 数据:分割与展开列操作
  • 单片机的选择因素
  • 软件测试兼容性测试丨分布式测试与多设备管理
  • Linux驱动开发(13):输入子系统–按键输入实验
  • 微服务篇-微服务保护:使用 Sentinel 来实现请求限流、线程隔离、服务熔断和 Fallback 备用方案的使用
  • vscode 排除文件夹搜索
  • 设计模式学习之——装饰者模式
  • 【Vulkan入门】10-CreatePipeline
  • C++11 (一)
  • 系统性能优化
  • IMX6ULL开发板挂载 Ubuntu 的 NFS 目录,并以交叉编译得到的hello程序进行测试
  • Xcode模拟器运行报错:The request was denied by service delegate
  • ubuntu18.04配置实时内核
  • Unity中Mesh重叠顶点合并参考及其应用
  • 倚光科技助力自由曲面设计与加工
  • PWM调节DCDC参数计算原理
  • [Pro Git#3] 远程仓库 | ssh key | .gitignore配置
  • Freertos任务切换
  • go开发中interface和方法接收器的使用
  • vue3-tp8-Element:对话框实现