班级学号 姓名
指导教师 课题。
一、大数相乘。
一、问题描述。
要求:输入两个较大的整数,进行乘法运算,能够通过程序计算出其正确的结果,并输出结果,使整数相乘不受计算机内存空间的限制。
二、设计思路及步骤。
1、首先,要输入两个大数,所以在void multil()大数相乘操作函数中,定义两个字符型数组a[n]和b[n],其中,n为数组的最大长度,以字符串的形式来记录这两个较大的整数,定义字符型指针res记录这两个整数相乘结果的返回地址,用于输出结果。
2、在大数乘法计算过程中,首先,将字符串各位的字符先转化为所对应的数字,然后再进行一系列的计算,由于整数乘法计算是从低位到高位依次计算,所以为符合这一规律,先对两个大数字符串先进行逆序操作(void swap(char* str, int p, int q)逆序操作函数),最后再将所得的结果进行逆序操作,并输出结果。
3、在char* largenum_ multi (char* a, char* b)大数相乘函数中,分别定义整型变量m和 n分别记录数组a[n]和数组b[n]的长度,定义字符型指针变量result记录两大数相乘后的地址用于返回地址,result的最大长度为(m+n),定义整型变量multiflag和addflag分别表示乘法进位和加法进位,初始化均为0,在之后的运算过程中记录乘法进位和加法进位。
三、函数清单。
void swap(char* str, int p, int q); 逆序操作函数。
void menu();菜单函数。
void multil();大数相乘操作函数。
char* largenum_ multi (char* a, char* b); 大数相乘函数。
四、源程序**。
#include <>
#include <>
#include <>
#define n 100
void swap(char* str, int p, int q); 逆序
void menu();菜单。
void multil();大数相乘操作。
char* largenum_multi(char* a, char* b); 大数相乘。
void swap(char* str, int p, int q) /逆序
char temp;
while(p < q)
char* largenum_multi(char* a, char* b) /大数相乘。
swap(result, 0, m+n-1); 逆序
return result;
elseif(a[0]==b[0负 &&负
elseif(a[0]==b[0]>=1'&&b[0]<=9'))负 &&正
printf("-
largenum_multi((a+1),b);
else if(b[0]==a[0]>=1'&&a[0]<=9'))正 &&负
printf("-
largenum_multi(a,(b+1));
elseif(b[0]==0'&&a[0]>=1'&&a[0]<=9正 &&0
else if(a[0]==0'&&b[0]>=1'&&a[0]<=90 &&正
elseif(b[0]==0'&&a[0负 &&0
elseif(b[0]==a[0]==00 &&负
elseif(b[0]==0'&&a[0]==00 &&0
printf("0");
menu();
void multil大数相乘操作。
void menu菜单。
int main()
五、运行截图。
1、 正&&正。
2、 负&&正。
3、正&&负。
4、负&&负。
&&正。7、正&&0
&&负。9、负&&0
六、不足之处与解决方案。
不足之处1:本程序只能解决整型范围内的大数相乘问题,而不能解决浮点型范围内的大数相乘。
解决方案1:把浮点型大数分为整数部分和小数部分,分别对其进行大数相乘函数的调用并输出结果,这仅是一种思路,可上机进行调试和运行。
课题。二、简单m 元多项式加法。
数据结构课程设计
课程设计说明书 题目哈夫曼编码问题的设计和实现。课程名称数据结构课程设计。院 系 部 中心。专业。班级。学生姓名。学号。设计地点。指导教师。设计起止时间 2008 年6月 2日至 2008 年 6月 6 日。目录。1 问题描述 2 1.1 题目内容 2 1.2 基本要求 2 1.3 测试数据 2 2...
数据结构课程设计
数据结构 课程设计。实验报告。学院 信息工程学院。班级 姓名 学号 指导老师 题目2 一元多项式的计算。1 实验目的。1 掌握链表的灵活运用 2 学习链表初始化和建立一个新的链表 3 知道怎样去实现链表删除结点操作与插入结点 4 理解链表的基本操作 包括数据域数据的相加 并能灵活运用。2 实验内容。...
数据结构课程设计
班级 信计 1102 姓名 李娜娜。学号 1108060209 设计日期 2013.07.15 西安科技大学计算机学院 1.实验题目 编制一个演绎扫雷游戏的程序。2.问题描述。做一个n x m的扫雷游戏,每个方格包含两种状态 关闭 closed 和打开 opened 初始化时每个方格都是关闭的,一个...