Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as C by Phanvanven ( 6 years ago )
#include <stdio.h>
#include <string.h>


void HoanVi(char &s1, char &s2)
{
	char temp = s1;
	s1 = s2;
	s2 = temp;
}

int STRLEN(char *s)
{
	int dem = 0;
	while(s[dem++] != '\0'){};
	return dem - 1;
}

void STRREV(char *s)
{
	int len = STRLEN(s);
	for(int i = 0; i <= len / 2; i++)
	{
		HoanVi(s[i], s[len - i - 1]);
	}
	s[len] = '\0';

}


void Them1KyTu(char *s, int vitri, char kytu)
{
	int len = STRLEN(s);
	for(int i = len - 1; i >= vitri; i--)
	{
		s[i + 1] = s[i];
	}
	s[vitri] = kytu;
	s[len + 1] = '\0';
}

void ThemNhieuKyTu(char *s, int soluong, char kytu)
{
	int len = STRLEN(s);
	for(int i = 0; i < soluong; i++)
	{
		Them1KyTu(s, 0, kytu);
	}
	
}


char* CONG2SOCUCDAI(char *s1, char *s2)
{
	int len1 = STRLEN(s1);
	int len2 = STRLEN(s2);

	if(len1 > len2)
	{
		ThemNhieuKyTu(s2, (len1 - len2), '0');
		len2 = len1;
	}
	else if(len2 > len1)
	{
		ThemNhieuKyTu(s1, (len2 - len1), '0');
		len1 = len2;
	}

	int nho = 0;
	char tong[256];
	int idx = 0;
	for(int i = len1 - 1; i >= 0; i--)
	{
		int sum = (s1[i] - 48) + (s2[i] - 48) + nho;
		nho = sum / 10;
		sum %= 10;
		tong[idx++] = sum + 48;
	}
	if(nho != 0)
	{
		tong[idx++] = nho + 48;
	}
	tong[idx] = '\0';
	STRREV(tong);
	return tong;
}

void STRCPY(char *s1, char *s2)
{

	int len = STRLEN(s2);
	for(int i = 0; i < len; i++)
	{
		s1[i] = s2[i];
	}
	s1[len] = '\0';
}

int main()
{
	int n;
	scanf("%d", &n);
	char sss[250][250];
	
	for(int i = 0; i < n; i++)
	{		
		char s[128];
		char ss[128];

		scanf("%*[^\n]");
		scanf("%*c");

		scanf("%[^\n]", s);

		scanf("%*[^\n]");
		scanf("%*c");

		scanf("%[^\n]", ss);
		strcpy(sss[i], CONG2SOCUCDAI(s, ss));
	}
	for(int i = 0; i < n; i++)
	{
		printf("%s\n", sss[i]);
	}
	return 0;
}

 

Revise this Paste

Your Name: Code Language: