用数组实现大数加法
发布时间:2020-12-14 02:56:47 所属栏目:大数据 来源:网络整理
导读:? ? 当数字足够大的时间,用数组实现大数的运算。 参考代码如下: #include stdio.h#include string.hint main(){int a[100],b[100],c[200];char str1[100],str2[100];int i,j,k,index,incre=0;printf("input the first string:");scanf("%s",str1);index=0;
? ? 当数字足够大的时间,用数组实现大数的运算。 参考代码如下: #include <stdio.h> #include <string.h> int main() { int a[100],b[100],c[200]; char str1[100],str2[100]; int i,j,k,index,incre=0; printf("input the first string:"); scanf("%s",str1); index=0; for(i=strlen(str1)-1;i>=0;i--) { a[index]=str1[i]-'0'; index++; } printf("input the second string:"); scanf("%s",str2); index=0; for(i=strlen(str2)-1;i>=0;i--) { b[index]=str2[i]-'0'; index++; } index=0; while(index<strlen(str1) && index<strlen(str2)) { c[index]=(a[index]+b[index]+incre)%10; incre=(a[index]+b[index]+incre)/10; index++; } if(index==strlen(str1) && index<strlen(str2)) { for(j=index;j<strlen(str2);j++){ c[index]=(b[j]+incre)%10; incre=(b[j]+incre)/10; index++; } } if(index==strlen(str2) && index<strlen(str1)) { for(j=index;j<strlen(str1);j++){ c[index]=(a[j]+incre)%10; incre=(a[j]+incre)/10; index++; } } if(incre) { c[index]=incre; index++; } for(i=index-1;i>=0;i--) printf("%d",c[i]); putchar('n'); return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |