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

HDOJ1002大数加法

发布时间:2020-12-14 04:14:13 所属栏目:大数据 来源:网络整理
导读:#include stdio.h#include string.hint main () {int n;char str1[1010],str2[1010];int dst[1010];int i,j;while(scanf("%d",n) != EOF n) {for(i = 1; i = n; i ++) {memset(str1,sizeof(str1));memset(str2,sizeof(str2));memset(dst,sizeof(dst));scanf(
#include <stdio.h>
#include <string.h>
int main () {

	int n;
	char str1[1010],str2[1010];
	int dst[1010];
	int i,j;

	while(scanf("%d",&n) != EOF && n) {

		for(i = 1; i <= n; i ++) {
		
			memset(str1,sizeof(str1));
			memset(str2,sizeof(str2));
			memset(dst,sizeof(dst));

			scanf("%s %s",str1,str2);
			
			int len1 = strlen(str1);
			int len2 = strlen(str2);

			printf("Case %d:n",i);
			printf("%s + %s = ",str2);

			int k;

			if(len1 > len2) {
			
				while(len1 - len2 > 0)
				{
					for(j = len2 - 1; j >= 0; j --) {
						
						str2[j + 1] = str2[j];
					}
						str2[0] = '0';
						len2 ++;

				}
			}

			else if(len2 > len1) {
			
				while(len2 - len1 > 0)
				{
					for(j = len1 - 1; j >= 0; j --) {
						
						str1[j + 1] = str1[j];
					}
						str1[0] = '0';
						len1 ++;			

				}
			}

			int count = 0;

			for(j = len1 - 1,k = 0; j >= 0; j --) {
		
				dst[k] = str1[j] - '0' + str2[j] - '0' + count;

				if(dst[k] >= 10) {
					dst[k ++] -= 10;
					count = 1;
				}

				else 
				{
					k ++;
					count = 0;
				}
			}

			if(count == 1) dst[k ++] = 1;

		for(j = k - 1; j >= 0; j --)
			printf("%d",dst[j]);

		printf("n");

		if(i != n)
			printf("n");
		}

		break;
	}
	return 0;
}

(编辑:李大同)

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

    推荐文章
      热点阅读