浙大1205.(ac).cpp

来自「浙大ACM部分题目的代码。已经提交并AC通过」· C++ 代码 · 共 81 行

CPP
81
字号
#include<stdio.h>
#define N 101
int main()
{
	int a[N]={0},b[N]={0},n,mark,temp;
	char c;
	while(scanf("%c",&c)!=EOF)
	{
		for(n=0;n<N;n++){a[n]=0;b[n]=0;}
		n=N-1;					

//开始存储被加数
		while(c!=10&&n<N)
		{
			if(c<58&&c>47)
				a[n]=c-48;
			else
				a[n]=c-87;
			n--;
			scanf("%c",&c);
		}
		mark=n+1;				

//开始倒序处理被加数
		for(n=N-1;n>mark;n--,mark++)
		{
			temp=a[n];
			a[n]=a[mark];
			a[mark]=temp;
		}


		n=N-1;					

//开始存储加数
		scanf("%c",&c);
		while(c!=10&&n<N)
		{
			if(c<58&&c>47)
				b[n]=c-48;
			else
				b[n]=c-87;
			n--;
			scanf("%c",&c);
		}
		mark=n+1;				

//开始倒序处理加数
		for(n=N-1;n>mark;n--,mark++)
		{
			temp=b[n];
			b[n]=b[mark];
			b[mark]=temp;
		}

		for(n=N-1;n>0;n--)		//开始相加
		{
			b[n]+=a[n];
			b[n-1]+=b[n]/20;
			b[n]=b[n]%20;
		}
		b[n]+=a[n];

		n=0;					

//准备输出
		while(b[n]==0&&n<N-1)
			n++;				

//滤掉前面的0
		for(;n<N;n++)
		{
			if(b[n]>9)
				printf("%c",b[n]+87);
			else
				printf("%d",b[n]);
		}
		printf("\n");
	}
	return 0;
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?