高精准加法和乘法
使用函数库:
#include<stdio.h> #include<string.h>
源码(加法):
#include<stdio.h>
#include<string.h>
char s[1000];
int main()
{
int i,l1,l2,l,a[1000]={0},b[1000]={0};
scanf("%s",s); //输入第一个数(char类型);
l1=strlen(s); //存入第一个数的长度;
for(i=0;i<=l1-1;i++)
{
a[l1-1-i]=s[i]-'0';
} //保存第一个数到"a[i]";
scanf("%s",s); //输入第二个数(char类型);
l2=strlen(s); //存入第二个数的长度;
for(i=0;i<=l2-1;i++)
{
b[l2-1-i]=s[i]-'0';
} //保存第二个数到"b[i]";
if(l1>l2) l=l1;
else
l=l2; //比较两数长度;
for(i=0;i<=l-1;i++)
{
a[i]=a[i]+b[i]; //进行加法;
if(a[i]>=10)
{
a[i+1]=a[i+1]+1;
a[i]=a[i]-10;
} //进位;
}
if(a[l]!=0) l++; //判断最后的位数;
for(i=l-1;i>=0;i--)
{
printf("%d",a[i]);
} //输出;
return 0;
}
作者评价:感谢大家的宝贵评价;此程序由我尽力制作且第一次发表;可运算更大的加法运算稍微修改可运算比longlonggeng更高,更大。
有错请留言评论,新人报道,手嫩,有错请指出。