实现大整数的加法运算,使用两个数组存放两个大整数,通过数组的基本运算方法进行大整数加法运算。C语言
实现大整数的加法运算,使用两个数组存放两个大整数,通过数组的基本运算方法进行大整数加法运算。C语言利用c语言编写,急,在线等,以文本方式复制粘贴,或者加qq截图,感谢...
实现大整数的加法运算,使用两个数组存放两个大整数,通过数组的基本运算方法进行大整数加法运算。C语言利用c语言编写,急,在线等,以文本方式复制粘贴,或者加qq截图,感谢
展开
1个回答
展开全部
、实验项目内容(实验题目)
请编制程序实现功能:利用字符数组实现两个大整数的加法。
要求采用函数模块化程序设计。
、源程序(实验过程或算法)
#include <stdio.h>
#include <string.h>
void main()
{char s1[100],s2[100];
int a[100]={0},b[100]={0},m,n,c,k,i;
puts("请输入两个较大的数字(Note:输完一个按一次回车):");
gets(s1);
gets(s2);
m=strlen(s1);
n=strlen(s2);
if(m<n) k=n;
else
k=m;
c=k;
for(i=0;i<m;k--,i++)
a[k]=s1[m-1-i]-'0';
for(k=c,i=0;i<n;k--,i++)
b[k]=s2[n-1-i]-'0';
printf("\n");
for(i=c;i>=0;i--)
{a[i]+=b[i];
if(a[i]>=10)
{a[i]-=10;
a[i-1]++;}
}
printf("此两数相加之和为:");
if(a[0]!=0)
{for(i=0;i<=c;i++)
printf("%d",a[i]);}
else
{for(i=1;i<=c;i++)
printf("%d",a[i]);}
printf("\n");
}
望采纳,谢谢
请编制程序实现功能:利用字符数组实现两个大整数的加法。
要求采用函数模块化程序设计。
、源程序(实验过程或算法)
#include <stdio.h>
#include <string.h>
void main()
{char s1[100],s2[100];
int a[100]={0},b[100]={0},m,n,c,k,i;
puts("请输入两个较大的数字(Note:输完一个按一次回车):");
gets(s1);
gets(s2);
m=strlen(s1);
n=strlen(s2);
if(m<n) k=n;
else
k=m;
c=k;
for(i=0;i<m;k--,i++)
a[k]=s1[m-1-i]-'0';
for(k=c,i=0;i<n;k--,i++)
b[k]=s2[n-1-i]-'0';
printf("\n");
for(i=c;i>=0;i--)
{a[i]+=b[i];
if(a[i]>=10)
{a[i]-=10;
a[i-1]++;}
}
printf("此两数相加之和为:");
if(a[0]!=0)
{for(i=0;i<=c;i++)
printf("%d",a[i]);}
else
{for(i=1;i<=c;i++)
printf("%d",a[i]);}
printf("\n");
}
望采纳,谢谢
更多追问追答
追问
好,我打的试试
这个必须采纳啊
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询