超长整数的处理报告.docVIP

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
超长整数的处理报告

目录 一、需求分析 1 二、设计分析 2 三、主要界面截图 10 四、技术要点 11 五、个人总结 12 六、参考文献 13 七、源程序 14 一、需求分析 该课程设计的题目是一个典型的超长整数处理问题。根据程序设计的要求,需要用链表解决一个超长整数奇偶数位相加问题,一方面使我们对链表的运用有了更深刻的认识,另一方面使我们理解了超长整数在计算机中的运算过程。 1.问题要求分析 采用链表来表示一个带符号的超长整数(20位以上)。并且进行如下处理。 (1)将超长整数s上相邻的奇数位和偶数位的数相加,兵存放在奇数位上,构成一个新数(不考虑进位)。显示并保存在文件file31.txt中。 (2)超长整数要用字符串实现输入,按2位截取,转成整型存放在链表中,每个节点存两位,然后进行处理。 2.主要功能分析: (1)数据输入:允许用户输入多组超长整数,每输入一个数都会将该数存入文件当中。 (2)数据计算:对输入的数据,首先显示出来,允许用户去选择要计算哪个数据,然后按照题目的要求将结果计算出来并保存到文件当中。 二、设计分析 主要有5个功能模块,每个模块对应一个C语言自定义函数。这些函数原型及其功能简述如下: (1)菜单模块 void menu() { printf(***********************************************\n); printf(*****                   *****\n); printf(***** 菜单 *****\n); printf(***** 1.输入超长整数 *****\n); printf(***** 2.计算 *****\n); printf(***** 0.退出 *****\n); printf(***** *****\n); printf(***********************************************\n); } 函数功能:在程序运行之前显示菜单,供用户进行选择。 (2)字符串转换模块 void read(int len) { int i,k,count=0; char ch; struct unit *p; for(i=0,k=len-1;ik;i++,k--) { ch=num[i]; num[i]=num[k]; num[k]=ch; } head=(struct unit*)malloc(sizeof(struct unit)); head-next=NULL; for(i=1;i=len;i++) { if(count==0) { p=(struct unit*)malloc(sizeof(struct unit)); p-next=head-next; head-next=p; } if(i%2==0) { p-even=num[i-1]-0; count++; if(count==2) count=0; } else { p-odd=num[i-1]-0; count++; } } } 函数功能:由于输入的数据用字符串进行存储的,需要将字符串转化成整型并且用链表将其存储,该函数的功能就是将输入的字符串存储到一个链表中。 (3)输入数据模块 void input() { FILE *file=fopen(file32.txt,a); if(file==NULL) { printf(文件打开失败!\n); exit(0); } scanf(%s,num); fprintf(file,%s\n,num); printf( 写入的数据为:%s\n,num); fclose(file); }函数功能:该函数功能是进行数据的输入,并显示到屏幕上,存储到文件当中。 (4)显示数据模块 int show() { int i; FILE *file=fopen(file31.txt,r); if(file==NULL) { printf(打开文件失败!\n); exit(0); } for(i=1;!feof(file);i++) { fscanf(file,%s\n,num); printf(%d.%s\

文档评论(0)

xingkongwd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档