大数相加
发布时间:2020-12-14 02:54:52 所属栏目:大数据 来源:网络整理
导读:#includestdio.h#includestring.hint main(){char a[100],b[100];int c[101];int stra,strb;gets(a);gets(b);stra=strlen(a);//得到a的长度strb=strlen(b);//得到b的长度int m=stra-1;//得到a的最后一个元素的序号 int n=strb-1;//得到b的最后一个元素的序号
#include<stdio.h> #include<string.h> int main() { char a[100],b[100]; int c[101]; int stra,strb; gets(a); gets(b); stra=strlen(a);//得到a的长度 strb=strlen(b);//得到b的长度 int m=stra-1;//得到a的最后一个元素的序号 int n=strb-1;//得到b的最后一个元素的序号 int p=0;//最大数相加要么是10-20要么0-10,所以p具有标记作用! for(int i=0;m>=0||n>=0;i++,m--,n--) { if(m>=0&&n>=0) { c[i]=a[m]+b[n]-2*'0'+p;//得到a[m],b[n]的实际数字,相加再存入整型数组c[i]中 } else if(m>=0&&n<0) { c[i]=a[m]-'0'+p; } else if(n>=0&&m<0) { c[i]=b[n]-'0'+p; } p=0; if(c[i]>9) { c[i]=c[i]-10;p=1; } } if(p==1) { printf("%d",1);//这是当左后一次相加大于10的情况下进一位! } while(i--) { printf("%d",c[i]); } return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |