C语言编译任意长的整数加法程序,求大神!! 100

用C语言编译!!!!!求程序!!!任意长的整数加法问题描述:设计一个程序实现两个任意长的整数的求和运算。基本要求:利用双向循环链表,设计一个实现任意长的整数进行加法运算的... 用C语言编译!!!!!求程序!!!
任意长的整数加法
问题描述:设计一个程序实现两个任意长的整数的求和运算。
基本要求:利用双向循环链表,设计一个实现任意长的整数进行加法运算的演示程序。要求输入和输出每四位一组,组间用逗号隔开。如:1,0000,0000,0000,0000。
展开
 我来答
带着光圈的小鸡
2014-06-30 · 超过31用户采纳过TA的回答
知道答主
回答量:80
采纳率:0%
帮助的人:49.4万
展开全部
vs2008测试通过,请采纳
#include <windows.h>
#include <stdio.h>
#define N 20

void addmain(char s1[N],char s2[N],int sResult[N]);

void main()
{
int sResult[N+1];
int x;
char s1[N],s2[N];
printf("请选择运算类型,加输入1,减输入2:");
scanf("%d",&x);
switch(x)
{
case 1:
printf("你选择了加法,请输入两个整数:");
scanf("%s%s",s1,s2);
printf("\n%s + %s",s1,s2);
addmain(s1,s2,sResult);
break;
case 2:
printf("你选择了减法");
break;
default:
printf("error");
}
}

void addmain(char s1[N],char s2[N],int sResult[N+1])
{
int sa[N],sb[N];
int i,x;
int *p3;
char *p1,*p2;
p1=s1;
p2=s2;
p3=sResult;
i=0;
*(p3+1)=0;
while(*(p1+i)!='\0' && *(p2+i)!='\0' && i<=(N+1))
{
x=*(p3+i+1)+(*(p1+i)-48)+(*(p2+i)-48);
if (x>9)
{
*(p3+i+1)=x-10;
*(p3+i+1+1)=1;
}
else
{
*(p3+i+1)=x;
*(p3+i+1+1)=0;
}
i++;
}
if (*(p1+i)=='\0')
{
while(*(p2+i)!='\0' && i<=(N+1))
{
x=*(p3+i+1)+(*(p2+i)-48);
if (x>9)
{
*(p3+i+1)=x-10;
*(p3+i+1+1)=1;
}
else
{
*(p3+i+1)=x;
*(p3+i+1+1)=0;
}
i++;
}
}
else
{
while(*(p1+i)!='\0' && i<=(N+1))
{
x=*(p3+i+1)+(*(p1+i)-48);
if (x>9)
{
*(p3+i+1)=x-10;
*(p3+i+1+1)=1;
}
else
{
*(p3+i+1)=x;
*(p3+i+1+1)=0;
}
i++;
}
}
*p3=i;
i=0;
printf("结果为:");
while(i<*p3)
{
printf("%d",*(p3+*p3-i));
i++;
}
}
百度网友a54596e
2014-06-30
知道答主
回答量:5
采纳率:0%
帮助的人:6472
展开全部
建议你参考大数运算。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式