zoj 1292 Integer Inquiry【大数】
发布时间:2020-12-14 02:23:10 所属栏目:大数据 来源:网络整理
导读:题意:先输入一个数 ?表示测试样例的个数,接着输入几个数(可以不是大数)。输入0结束求出所输入的几个大数的和。 #includestdio.h#includestring.h#includestdlib.husing namespace std;int a[200],d[200];char s[101];void jw(int z[],int x[]){for(int i
题意:先输入一个数 ?表示测试样例的个数,接着输入几个数(可以不是大数)。输入0结束求出所输入的几个大数的和。 #include<stdio.h> #include<string.h> #include<stdlib.h> using namespace std; int a[200],d[200]; char s[101]; void jw(int z[],int x[]) { for(int i= 0; i < 200; i++ ) { z[i]+=x[i]; if(z[i]>=10) { /*z[i+1] = z[i+1]+z[i]/10; z[i] = z[i]%10;*/ z[i+1]+=1; z[i]-=10;/*这两种进位判断都可以!*/ } } } int main() { int i,j,k,l,t; int cs; scanf("%d",&t); while(t--) { memset(a,sizeof(a)); cs = 0; while(1) { scanf("%s",s); //if(s[0] == '0') 这样判断导致我WA了4次因为 数字可能前面有0 if(strcmp(s,"0")==0) break; cs++; j = 0; memset(d,sizeof(d)); int len =strlen(s); for(i = len-1; i >= 0; i--) d[j++] = s[i] - '0'; jw(a,d); } if(cs==0) printf("0n"); else { for(i = 200-1; i>= 0; i--) if(a[i]) break; for( ; i >=0;i--) printf("%d",a[i]); printf("n"); } if(t) printf("n"); } return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |