网站开发背景策划书,导航网站模板免费,装修公司网站平台,word电子版个人简历免费小练习
在堆区空间连续申请5个int类型大小空间#xff0c;用来存放从终端输入的5个学生成绩#xff0c;然后显示5个学生成绩#xff0c;再将学生成绩升序排序#xff0c;排序后#xff0c;再次显示学生成绩。显示和排序分别用函数完成#xff08;两种排序方法#xff0…
小练习
在堆区空间连续申请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 i0;i5;i){scanf(%d,pi);//输入成绩}printf(你输入的成绩为);put(p);//调用输出函数swap(p);//调用冒泡排序函数//swap2(p);//调用选择排序函数printf(排序升序后的值为);put(p);return 0;free(p);//释放内存pNULL;//指针指向空避免野指针
}
int *put(int *p)//输出函数
{for(int i0;i5;i){printf(%d ,*(pi));}putchar(10);
}
int *swap(int *p)//冒泡排序
{int temp;for(int i0;i5;i)for(int j0;j4-i;j){if(*(pj)*(pj1)){temp*(pj);*(pj)*(pj1);*(pj1)temp;}}
}
int *swap2(int *p)//选择排序
{int temp;int min;for(int i0;i5;i){mini;for(int ji1;j5;j){if(*(pmin)*(pj))minj;}temp*(pmin);*(pmin)*(pi);*(pi)temp;}
}运行截图