有哪位好心人帮帮我

zhangxuan121 2004-09-05 10:41:28
#include<stdio.h>
#include<string.h>
#include<math.h>
#define null 0
typedef struct ser_num_section
{
int num;
struct ser_num_section *prior, *next;
}dlinklist;
dlinklist * s,p1,p2,head1,head2;
void compute1(int n1, int n2)
{ int i,temp;
if(n1>=n2)
{
for(i=0;i<n2;i++)
{ int temp=0;
temp=p1.num+p2.num;
if(temp<10000)
p1.num=p1.num+p2.num;
else
{
p1.num=temp-10000;
(p1.prior->num)++;
}
p1=*(p1.prior);
p2=*(p2.prior);
}
p1=head1;
for(i=0;i<n1;i++)
{
printf("d%",p1.num);
printf(",");
p1=*p1.next;
}
}
else
{
{
int swap;
swap=n1;
n1=n2;
n2=swap;
}

for(i=0;i<n2;i++)
{
temp=p1.num+p2.num;
if(temp<10000)
p2.num=p1.num+p2.num;
else
{
p2.num=temp-10000;
(p2.prior->num)++;
}
p1=*p1.prior;
p2=*p2.prior;
}
p2=head2;
for(i=0;i<n1;i++)
{
printf("d%",p2.num);
printf(",");
p2=*(p2.next);
}
}
}
void compute2(int n1, int n2)
{
int i;
if(n1>=n2)
{
for(i=0;i<n2;i++)
{
if(p1.num>p2.num)
p1.num=p1.num-p2.num;
else
{
p1.num=p1.num+10000-p2.num;
(p1.prior->num)--;
}
p1=*p1.prior;
p2=*p2.prior;
}
p1=head1;
for(i=0;i<n1;i++)
{
printf("d%",p1.num);
printf(",");
p1=*p1.next;
}
}
else
{
{
int swap;
swap=n1;
n1=n2;
n2=swap;
}
for(i=0;i<n2;i++)
{
if(p1.num>p2.num)
p2.num=p1.num-p2.num;
else
{
p2.num=p1.num+10000-p2.num;
(p1.prior->num)--;
}
p1=*p1.prior;
p2=*p2.prior;
}
p2=head1;
printf("-");
for(i=0;i<n1;i++)
{
printf("d%",p2.num);
printf(",");
p2=*p2.next;
}
}
}
void compute4(int n1 ,int n2)
{
int i;
if(n1>=n2)
{
for(i=0;i<n2;i++)
{
if(p1.num>p2.num)
p1.num=p1.num-p2.num;
else
{
p1.num=p1.num+10000-p2.num;
(p1.prior->num)--;
}
p1=*p1.prior;
p2=*p2.prior;
}
p1=head1;
printf("-");
for(i=0;i<n1;i++)
{
printf("d%",p1.num);
printf(",");
p1=*p1.next;
}
}
else
{
{
int swap;
swap=n1;
n1=n2;
n2=swap;
}
for(i=0;i<n2;i++)
{
if(p1.num>p2.num)
p2.num=p1.num-p2.num;
else
{
p2.num=p1.num+10000-p2.num;
(p1.prior->num)--;
}
p1=*p1.prior;
p2=*p2.prior;
}
p2=head1;
for(i=0;i<n1;i++)
{
printf("d%",p2.num);
printf(",");
p2=*p2.next;
}
}
}
void main()
{int n1=1,n2=1;
char signal1='+',signal2='+';

s=malloc(sizeof(dlinklist));
head1=*s;
printf("please type two big number\n");
scanf("d%",&head1.num);
if(head1.num<0)
{
head1.num=abs(head1.num);
signal1='-';
}
s=malloc(sizeof(dlinklist));
p1=*s;
scanf("d%",p1.num);
*p1.prior=head1;
n1++;
while(getchar()!=';')
{
s=malloc(sizeof(dlinklist));
scanf("d%",s->num);
p1.next= s;
n1++;
p1=*s;
}
*p1.next=head1;
head2=malloc(sizeof(dlinklist));
scanf("d%",head2.num);
if(head2.num<=0)
{
head2.num=abs(head2.num);
signal2='-';
}
p2=malloc(sizeof(dlinklist));
scanf("d%",p2.num);
*p2.prior=head1;
n2++;
while(getchar()!=';')
{
s=malloc(sizeof(dlinklist));
scanf("d%",s->num);
p2.next= s;
n2++;
p2=*s;
}
*p2.next=head2;
if((signal1!='-')&&(signal2!='-'))
compute1(n1,n2);
if((signal1!='-')&&(signal2=='-'))
compute2(n1,n2);
if((signal1=='-')&&(signal2=='-'))
{
printf("-");
compute1(int n1, int n2);
}
if((signal1=='-')&&(signal2!='-'))
compute4(n1,n2);
}
...全文
71 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
双杯献酒 2004-09-06
  • 打赏
  • 举报
回复
不知道问题是什么?
Paris_Luo 2004-09-06
  • 打赏
  • 举报
回复
分没有,问题也没有,过分了点吧
chen__han1 2004-09-06
  • 打赏
  • 举报
回复
我晕 问题是什么啊?程序功能是?

64,636

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧