永发信息网

任意长的整数加法 用c语言编写的程序

答案:2  悬赏:40  手机版
解决时间 2021-02-14 05:29
问题描述:设计一个程序实现两个任意长的整数的求和运算。
基本要求:利用双向循环链表,设计一个实现任意长的整数进行加法运算的演示程序。要求输入和输出每四位一组,组间用逗号隔开。如:1,0000,0000,0000,0000。
最佳答案
利用双向链表是有思路了,但利用双向循环链表就不知道了
全部回答
vs2008测试通过,请采纳 #include #include #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++; } }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
青蚨之年什么意思????????????
创新思维作文400到500字,范文。急
【四个认同】“四个高度认同”的内容是什么?
新大陆专业染烫地址在什么地方,我要处理点事
华昇材料地址在什么地方,想过去办事
记账凭证里有会计主管、记账、复核、制单、出
千艺造型木头城子专业染烫店地址有知道的么?
在比例尺是1:6000000的地图上,量得两地距离
新房交房时需要注意什么
前男友结婚了,取消关注我,为什么又关注我
跨专业考研,可以报考学硕吗
仇字开头的四字成语
新青年美发地址在什么地方,我要处理点事
阿涛造型专业烫染地址在哪,我要去那里办事
木子衣这个地址在什么地方,我要处理点事
推荐资讯
由阜阳开往温州的k5621的火车票,为什么那么
下列关于应收账款信用期限的表述,正确的是
如何运用科技手段让销售团队更关注产品表现
新旧桥梁上部结构拼接方式错误的是()A.钢筋
于谦在德云社的地位是怎么样的,能排第三吗
荣威5501.8T变速箱油加多少
拔完牙后过了多久后才可以抽烟喝酒了
富安国际停车场(出入口)地址在哪,我要去那里
崩溃大陆肥沃土壤怎么回收
一出进九,二出进八,三出进七,四出进六这是什
汪寺村地址在什么地方,我要处理点事
朋友结婚想给兄弟团定制个性的婚庆T恤,哪里
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?