c基础加堆练习题

1】思维导图:

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

要求:用malloc和free完成

参考代码,

复制代码
#include<stdio.h>
#include<stdlib.h>
void show(int *p)
{

 for(int i=0; i<5; i++)
        {
            printf("%d ",p[i]);
        
        }
        printf("\n");


}

void sorts(int *p)
{//冒泡排序
	    for (int i = 0; i < 4; i++) {
        for (int j = 0; j < 4-i; j++) {
            if (p[j] > p[j + 1]) {
                int temp = p[j];
                p[j] = p[j + 1];
                p[j + 1] = temp;
            }
        }
    }
}
int main(int argc, const char *argv[])
{
   
    
        //在堆区连续申请了5个4个字节的大小空间,并将地址赋值给p2
        int *p = (int *)malloc(sizeof(int)*5);
        for(int i=0; i<5; i++)
        {
    		scanf("%d",&p[i]);    //输入成绩
        }
      
       
    
    
   printf("学生成绩如下:\n");
   show(p);
   printf("排序后:\n");
   sorts(p);
   show(p);


   free(p);//释放内存
    
        p = NULL;//避免野指针
    
        
        return 0;
}
相关推荐
西贝爱学习20 小时前
Visual Studio下载地址,vs2022安装程序
c++
黎茗Dawn20 小时前
DDPM-KL 散度与 L2 损失
人工智能·算法·机器学习
天赐学c语言20 小时前
12.5 - 二叉树的最近公共祖先 && 构造函数和析构函数可以是虚函数吗
c++·二叉树·虚函数
wearegogog12320 小时前
DEA模型MATLAB实现(CCR、BCC、超效率)
开发语言·算法·matlab
业精于勤的牙20 小时前
浅谈:快递物流与算法的相关性(四)
算法
闻缺陷则喜何志丹20 小时前
【计算几何】P2785 物理1(phsic1)- 磁通量|普及+
c++·数学·计算几何
郝学胜-神的一滴20 小时前
Linux定时器编程:深入理解setitimer函数
linux·服务器·开发语言·c++·程序人生
ghie909020 小时前
MATLAB自适应子空间辨识工具箱
数据结构·算法·matlab
过河卒_zh156676620 小时前
算法备案最新通知:26年1月批备案号发放名单已锁定,发放前的复审抽审已开始
人工智能·算法·aigc·算法备案
cici1587420 小时前
基于反向传播算法实现手写数字识别的MATLAB实现
开发语言·算法·matlab