NOJ上的大数相加
发布时间:2020-12-14 02:54:26 所属栏目:大数据 来源:网络整理
导读:#includestdio.h#includestring.hint main(){char a[1100],b[1100],c[1100];int temp=0,o=0,s=0;char*p=c;scanf("%s%s",a,b);int n=strlen(a);int m=strlen(b);//printf("!%d,%d!",a[n-1],b[m-1]);if(m==n)while(1){if(n==0) break;s=a[--n]-48+b[--m]-48;s+
#include<stdio.h> #include<string.h> int main() { char a[1100],b[1100],c[1100]; int temp=0,o=0,s=0; char*p=c; scanf("%s%s",a,b); int n=strlen(a); int m=strlen(b); // printf("!%d,%d!",a[n-1],b[m-1]); if(m==n) while(1) { if(n==0) break; s=a[--n]-48+b[--m]-48; s+=temp; c[o++]=s%10; temp=s/10; if(n==0&&temp) c[o]=temp; } if(m>n) { while(1) { if(n==0) break; s=a[--n]-48+b[--m]-48; s+=temp; c[o++]=s%10; temp=s/10; } //printf("@"); while(1) { if(m==0) break; s=b[--m]-48+temp; c[o++]=s%10; temp=s/10; if(m==0&&temp) c[o]=temp;//printf("@"); } } if(m<n) { while(1) { if(m==0) break; s=a[--n]-48+b[--m]-48; s+=temp; c[o++]=s%10; temp=s/10; } while(1) { if(n==0) break; s=a[--n]-48+temp; c[o++]=s%10; temp=s/10; if(n==0&&temp) c[o]=temp; } } //printf("(%d)",o); if(temp) for(p=p+o;p>=c;p--) printf("%d",*p); else for(p=p+o-1;p>=c;p--) printf("%d",*p); //printf("!%d!",*(c+o)); printf("n"); return 0; } //1A了 冗长了 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |