📄 1.cpp
字号:
#include<stdio.h>
#include<malloc.h>
#define null 0
struct node{ int num;
struct node *next;};
#define LEN sizeof(struct node)
void input(struct node *head);
int char_to_num(char a);
void result(struct node *head1, struct node *head2);
void main()
{ struct node *head1,*head2;
head1=(struct node *) malloc(LEN);
printf("输入数字1:");
input(head1);
getchar();
printf("输入数字2:");
head2=(struct node *) malloc(LEN);
input(head2);
result(head1,head2);
}
void input(struct node *head)
{ struct node *newnode;
char a;
head->next=null;
while(1)
{ a=getchar();
if(a=='#') break;
newnode=(struct node *) malloc(LEN);
newnode->num=char_to_num(a);
newnode->next=head->next;
head->next=newnode;
}
}
int char_to_num(char a)
{int num;
num=a-48;
return(num);
}
void result(struct node *head1, struct node *head2)
{ int m=0;
struct node *head,*newnode,*next;
head=newnode=(struct node *) malloc(LEN);
head->next=null;
while(head1->next!=null&&head2->next!=null)
{ head1=head1->next;
head2=head2->next;
m=head1->num+head2->num+m;
newnode=(struct node *) malloc(LEN);
newnode->num=m%10;
if(m>=10) m=1;
else m=0;
newnode->next=head->next;
head->next=newnode;
}
if(head1->next!=null) while(head1->next!=null)
{ head1=head1->next;
newnode=(struct node *) malloc(LEN);
newnode->num=head1->num+m;
m=0;
newnode->next=head->next;
head->next=newnode;
}
if(head2->next!=null)
{while(head2->next!=null) { head2=head2->next;
newnode=(struct node *) malloc(LEN);
newnode->num=head2->num+m;
m=0;
newnode->next=head->next;
head->next=newnode;}
}
if(m==1) { newnode=(struct node *) malloc(LEN);
newnode->num=1;
newnode->next=head->next;
head->next=newnode;}
next=head->next;
printf("结果为:");
while(next!=null)
{ printf("%d",next->num);
next=next->next;
}
putchar('\n');
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -