- 0
- 0
- 约2.3万字
- 约 34页
- 2026-01-27 发布于天津
- 举报
PAGE
PAGE1
中国石油大学《数据结构》任意长的整数加减法运算
任意长的整数加减法运算
题目要求:
设计算法,实现一个任意长的整数进行加法、减法运算的演示程序。例如:1234,5123,4512,3451,2345与-1111,1111,1111,1111,1111的加法结果为:0123,4012,3401,2340,1234。基本要求如下:
利用链表实现长整数的存储,每个节点含一个整型变量;
整型变量的范围:-(2^15-1)~(2^15-1);
输入与输出形式每四位一组,组间用逗号分隔开。如:1986,8213,1935,2736,3299;
界面友好,每步给出适当的操作提示,并且系统具有一定的容错能力。
至少给出下面的测试数据:
(1)0;0
(2)-2345,6789;-7654,3211
(3)-9999,9999;1,0000,0000,0000
(4)1,0001,0001;-1,0001,0001
(5)1,0001,0001;-1,0001,0000
(6)-9999,9999,9999;-9999,9999,9999
(7)1,0000,9999,9999;1
XE
课题需求分析
设计算法,实现一个任意长的整数进行加法、减法运算的演示程序。例如:1234,5123,4512,3451,2345与-1111,1111,1111,1111,1111的加法结果为:0123,4012,3401,2340,1234。基本要求如下:
利用链表实现长整数的存储,每个节点含一个整型变量;
整型变量的范围:-(2^15-1)~(2^15-1);
输入与输出形式每四位一组,组间用逗号分隔开。如:1986,8213,1935,2736,3299;
界面友好,每步给出适当的操作提示,并且系统具有一定的容错能力。
至少给出下面的测试数据:
(1)0;0
(2)-2345,6789;-7654,3211
(3)-9999,9999;1,0000,0000,0000
(4)1,0001,0001;-1,0001,0001
(5)1,0001,0001;-1,0001,0000
(6)-9999,9999,9999;-9999,9999,9999
(7)1,0000,9999,9999;1
。
【长整数四则运算】
(i)本程序实现计算任意长的整数的加法运算.以用户和计算机对话的方式,即在计算机终端上显示“提示信息”之后,由用户在键盘上输入演示程序中规定的运算命令,然后程序就计算并显示出这两个数的运算。
(ii)本演示程序中,集合的元素限定为数字字符[‘0’~’9’]和字符‘,’与‘;’,输入字符可以任意长,输入形式以“回车符”为结束标志,串中字符顺序不限,且允许出现重复字符。
(iii)利用双向循环链表现实长整数的存储,每个结点含一个整形变量。输入的形式以回车结束,可以直接输入正数或负数。按中国对于长整数的表示习惯,每四位一组,除数字和位于首位置的负号外,其它一切字符都将作为分隔符,连续多个分隔符当一个处理。但不使用分隔符也不影响结果。
(iv)自行定义的测试数据
(1)0;0;输出“0”;
(2)-2345,6789;;-7654,3211;;加法输出“-1,000,000”;
(3)-9999,9999;;1,0000,0000,0000;;加法输出“9999,0000,0001”;
(4)1,0001,0001;;1,0001,0001;减法输出“0”;
(5)1,0001,0001;;1,0001,0000;;减法输出”1”;
(6)-9999,9999,9999;;-9999,9999,9999;加法输出“-1,9999,9999,9998”;
(7)1,0000,9999,9999;1;加法输出1,0001,0000,0000;
(8)10;8;乘方输出1,0000,0000;
-98,9997;3;除法输出-32,9999;
课题概要设计
(一)系统设计方案
(1)菜单
1.输入长整数a
2.输入长整数b
3.a+b
4.a-b
5.b-a
(2)抽象数据类型定义:
#defineMAXQSIZE100//最大队列长度
Typedefstruct{
QElemType*base;//初始化的动态分配存储空间
intfront;//头指针,若队列不为空,指向队列头元素
intrear;//尾指针,若对列不空,指向队尾元素的下一个位置
}SqQueue;
StatusInitQueue(sqQueueQ){
//构造一个空队列
原创力文档

文档评论(0)