【项目作业】基于指针的整数数组操作工
项目作业 127
等3人参与
来源: 第6周 / 指针原理与操作

实践描述:
亲爱的慕友们,指针是 C 语言的灵魂,也是很多初学者感到困惑的核心概念。通过第三周的学习,我们已经了解了指针的基本定义、地址传递以及指针与数组的关系。为了帮助大家真正“掌握指针”,本次实践将通过排序任务强化指针操作能力!动手设计并实现一个简单的排序系统,展示一下自己的编程实力吧!

题目:
请使用指针而非数组下标,实现一个选择排序程序,具体要求如下:
1、从标准输入读取一个整数 m(1≤m≤100);
2、接着读取 m 个整数存入数组;
3、编写函数,全程使用指针操作对该数组进行升序排序;
4、输出排序后的结果,数字间用空格分隔。

输入数据:

5
64 34 25 12 22

预计结果:

12 22 25 34 64
作业描述

一、开发语言与环境要求​
1、语言版本:c语言
2、开发工具:Microsoft Visual Studio

二、程序整体要求​
1、排序过程必须全程使用指针,禁止使用 arr[i] 形式;
2、代码结构清晰,注释说明指针操作;
3、提交 PointerSort.zip,含 main.c

三、详细设计​
1、主函数逻辑:
• 声明 int arr[100];
• 录入 m 及 m个整数;
• 调用 selectionSort(arr, m);
• 使用指针遍历输出结果;
2、自定义函数要求:
void selectionSort(int *arr, int size):
• 外层循环:int *i_ptr = arr; i_ptr < arr + size - 1; i_ptr++;
• 内层循环:int *j_ptr = i_ptr + 1; j_ptr < arr + size; j_ptr++;
• 通过 *i_ptr 和 *j_ptr 比较并交换元素;
• 交换使用临时变量,如 int temp = *i_ptr; *i_ptr = *min_ptr; ...。

评分标准是什么?

一、项目规范 【15分】

  1. 源文件为 main.c,指针变量命名清晰(如 i_ptr, min_ptr);
  2. 代码结构合理,主函数简洁;
  3. 注释说明指针操作意图。

二、程序整体运行效果 【15分】

  1. 能正确读入 m 和 m 个整数;
  2. 输出排序后数组,格式正确(空格分隔)。

三、定义函数 【30分】

  1. 自定义 selectionSort 函数;
  2. 函数参数为指针和长度;
  3. 排序逻辑通过指针实现,无下标访问。

四、指针使用规范 【25分】

  1. 排序过程中所有数组访问均使用 *ptr 或 *(arr + i) 形式;
  2. 无任何 arr[i] 出现;
  3. 指针运算安全,无越界。

五、功能正确性 【15分】

  1. 对任意合法输入能输出正确升序序列;
  2. 支持 m=1、m=100 等边界测试。
项目作业上传说明
第1步:上传你的作业压缩包
第2步:等待讲师一对一批复
第3步:查看讲师点评
上传作业

登录后查看更多作业,立即

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师