大数的加法
发布时间:2020-12-14 02:55:46 所属栏目:大数据 来源:网络整理
导读:#include stdio.h#include string.hint main(){int a[100],b[100],c[100];char ch1[100],ch2[100];int i,peace=0;int index=0;int k,j;printf("请输入第一个数字:n");scanf("%s",ch1);for(i=0;istrlen(ch1);i++)//把字符数字转换成整数数字,进行数字相加。
#include <stdio.h> #include <string.h> int main() { int a[100],b[100],c[100]; char ch1[100],ch2[100]; int i,peace=0; int index=0; int k,j; printf("请输入第一个数字:n"); scanf("%s",ch1); for(i=0;i<strlen(ch1);i++) //把字符数字转换成整数数字,进行数字相加。 a[strlen(ch1)-i-1]=ch1[i]-'0'; printf("请输入第二个数字:n"); scanf("%s",ch2); //同上 for(i=0;i<strlen(ch2);i++) b[strlen(ch2)-i-1]=ch2[i]-'0'; for(i=0;i<strlen(ch1) && i<strlen(ch2);i++)//相同位数的相加 { c[i]=(a[i]+b[i]+peace)%10; peace=(a[i]+b[i])/10; index++; } if(strlen(ch1)>strlen(ch2)) //位数多的数字进行进位运算 { k=strlen(ch2); j=strlen(ch1); for(i=k;i<j;i++) { c[i]=(a[i]+peace)%10; peace=(a[i]+peace)/10; index++; } } else { k=strlen(ch1); j=strlen(ch2); for(i=k;i<j;i++) { c[i]=(b[i]+peace)%10; peace=(b[i]+peace)/10; index++; } } if(peace) //最高位进1 { c[i]=peace; index++; } for(i=index-1;i>=0;i--) //输出 printf("%d",c[i]); putchar('n'); return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |