求个课程设计:任意长的整数加法

来源:百度知道 编辑:UC知道 时间:2024/06/05 01:01:53
要求:
(1)采用单向链表实现;
(2)编写子函数完成从键盘输入整数的功能;
(3)编写子函数完成两个整数相加的功能;
(4)编写子函数完成输出结果的功能;
(5)编写主函数,通过调用以上各子函数完成整个程序
根据题目要求进行需求分析,分析出该项任务的主要功能和设计重点。
根据需求分析的内容划分模块
利用Turbo C软件进行程序设计并调试通过

在线等 急着用啊

我分不多,就这些了~~
别说这么多没用的好吧~~我真急着用啊~~马上就要交课程设计了~~给个程序~或者发到邮箱里也行 wln813@yahoo.com.cn

#include<stdio.h>

typedef struct linknode
{
int data;/*节点的值*/
struct linknode *left,*right;/*左指针和右指针*/
}dnode;

/*head1为第1个数的头指针,r1为 为第1个的尾指针*/
/*head2为第2个数的头指针,r2为 为第2个的尾指针*/
/*head3为结果的头指针,r3为结果的尾指针*/
dnode *r1,*r2,*r3,*head1,*head2,*head3;
/*head_temp为临时数的头指针,rear_temp为临时数的尾指针*/
dnode *head_temp,*rear_temp;
/*flag1为第一个数的符号,flag2为第一个数的符号,*/
/*time1,time2,time3为第一个数,第2个数和结果的段数,4个数子为一段*/
int flag1,flag2,time1=1,time2=1,time3=1;

/*产生一个长整数*/
dnode* creat()
{
/*head为头指针,p和s为临时指针*/
dnode *head,*p,*s;
/*x为输入的数据,cycle为是否继续输入的标志*/
int x,cycle=1;

head=(dnode*)malloc(sizeof(dnode));
p=head;/*指向头*/

while(cycle)
{
scanf("%d",&x);
/*输入数据*/
if(x>=0)/*输入正数才有效*/
{
s=(dnode*)malloc(sizeof(dnode));
/*采用的是头插法*/
s->data=x;
p->right=s;
s->left=p