blob: b5dd0a5897678fd4f901c789586b396d93933941 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
# 数据结构实验 04
## 功能简介
本项目使用 GNU C11 实现一个简单的终端计算器,包含:
- 线性表的添加、插入、删除、修改、查找和遍历;
- 向量加法、减法和夹角余弦计算;
- 顺序表多项式的加减、乘法和求导;
- 链表多项式的加减、乘法和求导;
- 四则运算表达式求值;
- 实矩阵加减乘、转置、行列式和特征值计算(特征值可为复数)。
底层实现使用自定义的 `vec` 动态数组和循环双向链表。
## 编译说明
在项目根目录执行:
```sh
make
```
默认使用 GNU C11 标准编译,生成可执行文件 `calculator`。
编译参数包括 `-std=gnu11 -Wall -Wextra -O2`,链接时使用数学库 `-lm`。
清理编译文件:
```sh
make clean
```
## 使用说明
运行程序:
```sh
./calculator
```
在主菜单中选择线性表、向量、顺序表多项式、链表多项式、表达式计算或矩阵运算。矩阵运算入口为菜单项 6,先输入矩阵 A、B 的行列数及各行元素,再选择运算。菜单支持方向键或 `j`/`k` 移动,按 Enter 确认,按 `Esc` 或 `q` 返回或退出。
运行测试:
```sh
make test
```
|