第一次大作业题目
This commit is contained in:
parent
6dbac2b2f6
commit
387e510ab7
1 changed files with 138 additions and 0 deletions
138
source/_posts/big-homework1.md
Normal file
138
source/_posts/big-homework1.md
Normal file
|
@ -0,0 +1,138 @@
|
|||
---
|
||||
title: 第一次大作业(题目)
|
||||
date: 2020-11-11 21:44:45
|
||||
tags:
|
||||
---
|
||||
|
||||
# 大作业的训练目标
|
||||
|
||||
1. 模块化程序结构设计:从系统的角度进行函数的功能划分和函数的分层设计,程序结构要清晰。
|
||||
2. 掌握接口概念和函数接口设计:合理设计函数的参数表和返回值
|
||||
3. 数据的组织和管理:从系统角度出发,规划程序中使用的全局变量、常量、数组、辅助变量和辅助数组
|
||||
4. 交互界面和用户体验:软件功能全面,使用方便,输出排版美观,输入提示周到
|
||||
5. 养成良好的编程风格和习惯
|
||||
6. 掌握大型程序的调试和测试方法:学会分段调试程序和使用编程环境提供的debug功能。学会选择不同的样本数据检测软件中可能存在的问题。
|
||||
|
||||
# 数组运算器知识点
|
||||
|
||||
* 一维数组的定义和使用
|
||||
* 循环结构和分支结构
|
||||
* 函数的定义和函数的调用
|
||||
* 数组作为函数的参数
|
||||
* 局部变量和全局变量
|
||||
* 数组处理技术(排序,插入,删除,查找,统计,逆置)
|
||||
* 数组作为实现算法的辅助工具(筛法求素数,约瑟夫环等)
|
||||
|
||||
# 数组运算器的分级菜单
|
||||
|
||||
```
|
||||
0、退出
|
||||
1、配置系统参数(注:修改程序中几个主要全局变量)
|
||||
2、生成样本数据
|
||||
1)用指定范围的随机数填充数组
|
||||
2)键盘输入
|
||||
3)整个数组填同一个值
|
||||
4)用等差序列填充数组(注:输入序列的起始值和每项的差值)
|
||||
3、显示数组
|
||||
4、删除
|
||||
1)删除指定下标的元素
|
||||
2)删除指定值的元素
|
||||
3)删除按指定下标区间的一组元素
|
||||
5、插入
|
||||
1)按指定下标位置插入新元素
|
||||
2)在有序数组中插入新元素
|
||||
6、统计
|
||||
1)求最大值
|
||||
2)求最小值
|
||||
3)求平均值
|
||||
4)求方差和均方差
|
||||
7、查找
|
||||
1) 普通查找
|
||||
2) 二分查找
|
||||
8、判断
|
||||
1)是否升序排列
|
||||
2)是否降序排列
|
||||
3)是否全部相等
|
||||
9、排列数组元素
|
||||
1)排序
|
||||
a. 冒泡法
|
||||
b. 选择法
|
||||
c. 交换法
|
||||
2)逆置数组
|
||||
3)左旋数组
|
||||
4)右旋数组
|
||||
10、数组的其他应用
|
||||
1)约瑟夫环
|
||||
2)筛法求素数
|
||||
11、其他自选功能
|
||||
```
|
||||
|
||||
# 数组运算器的推荐函数
|
||||
|
||||
```C
|
||||
void printarr(int *a, int n);
|
||||
//打印数组
|
||||
|
||||
void FillArray(int a[], int n);
|
||||
//生成数组的样本数据
|
||||
|
||||
void Config();
|
||||
//配置系统参数:数组元素个数、一行打印元素个数、每个元素的打印宽度等
|
||||
|
||||
void Reverse(int a[], int n);
|
||||
//逆置数组
|
||||
|
||||
void insert(int a[], int n, int pos, int val);
|
||||
//在数组中pos下标处插入新元素
|
||||
|
||||
void Delete(int a[], int n, int id);
|
||||
//删除指定下标的元素
|
||||
|
||||
void DeleteRange(int a[], int n, int s, int t);
|
||||
//删除s..t下标区间的元素
|
||||
|
||||
int Search(int a[], int n, int val);
|
||||
//查找值为val的元素,找到返回其下标,找不到返回-1
|
||||
|
||||
int isAsc(int a[], int n);
|
||||
//判断数组是否升序排列
|
||||
|
||||
int isDesc(int a[], int n);
|
||||
//判断数组是否降序排列
|
||||
|
||||
int isEqual(int a[], int n);
|
||||
//判断数组是否全相等
|
||||
|
||||
int max(int a[],int n);
|
||||
//返回数组最大值的下标
|
||||
|
||||
int max(int a[],int n);
|
||||
//返回数组最小值的下标
|
||||
|
||||
float average(int a[],int n);
|
||||
//计算数组的平均值
|
||||
|
||||
void OrderInsert(int a[], int n, int val);
|
||||
//在有序数组中插入新元素保持有序性
|
||||
|
||||
void BubbleSort(int a[], int n);
|
||||
//冒泡排序
|
||||
|
||||
void SelectSort(int a[],int n);
|
||||
//选择排序
|
||||
|
||||
void ExchangeSort(int a[],int n);
|
||||
//交换排序
|
||||
|
||||
int Search(int a[], int n, int val);
|
||||
//普通查找
|
||||
|
||||
int BiSearch(int a[], int n, int val);
|
||||
//二分查找
|
||||
|
||||
int LeftRotate(int a[], int n, int m);
|
||||
//左旋m位
|
||||
|
||||
int RightRotate(int a[], int n, int m);
|
||||
//右旋m位
|
||||
```
|
Loading…
Reference in a new issue