加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读