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;
}
相关推荐
WWTYYDS_66632 分钟前
JsonCpp超详细使用教程
c++
不会就选b39 分钟前
算法日常・每日刷题--<快排>4
算法
Keven_1144 分钟前
算法札记:树状数组的用途
数据结构·算法
Joey_friends1 小时前
指纹authenticate流程图
android·java·c++
用户677437175811 小时前
C++函数参数传递方式详解:string、string&、const string、const string&该怎么选?
算法
小小晓.1 小时前
C++小白记:C风格字符串和数组用法
c语言·开发语言·c++
cpp_25011 小时前
P1540 [NOIP 2010 提高组] 机器翻译
数据结构·c++·算法·队列·noip·洛谷题解
晚笙coding1 小时前
LeetCode 98:验证二叉搜索树 —— 从局部判断到全局范围约束的递归思想
算法·leetcode·职场和发展
深念Y1 小时前
开发者如何清理和迁移C盘堆积的垃圾
c语言·开发语言
学计算机的计算基2 小时前
回溯算法下篇:四道经典题讲透约束剪枝、原地标记、预计算与状态压缩
java·笔记·算法