BigData_Jia

时间:2023-03-08 22:09:32
 #include <stdio.h>
#include <string.h>
#define MaxSize 10000
int n1, n2, i, k, times;
char symbol;
char data1[MaxSize], data2[MaxSize];
int max(int n1, int n2){
if(n1 > n2)
return n1;
else
return n2;
}
void getchars_two(char data_one[MaxSize], char data_two[MaxSize]) {
int n;
scanf("%s%s",data1, data2);
n1 = n = strlen(data1);
for(i = ; i < n; ++i){
data_one[i] = data1[n - i - ];
}
n2 = n = strlen(data2);
for(i = ; i < n; ++i){
data_two[i] = data2[n - i - ];
}
if(n1 > n2)
for(i = n2; i < n1; ++i){
data_two[i] = '';
}
else
for(i = n1; i < n2; ++i)
data_one[i] = '';
}
void getchars_one(char data_one[MaxSize], char data_two[MaxSize]) {
char data[MaxSize];
int n;
gets(data);
n1 = n = strlen(data);
for(i = ; i < n; ++i){
data_one[i] = data[n - i - ];
}
gets(data);
n2 = n = strlen(data);
for(i = ; i < n; ++i){
data_two[i] = data[n - i - ];
}
if(n1 > n2)
for(i = n2; i < n1; ++i){
data_two[i] = '';
}
else
for(i = n1; i < n2; ++i)
data_one[i] = '';
}
void big_data_jia(char data_one[MaxSize], char data_two[MaxSize], char data_three[MaxSize]){
char data_jin;
int Max, value;
data_jin = '';
Max = max(n1, n2);
for(i = ; i < Max; ++i){
value = (int)data_one[i] + (int)data_two[i] + (int)data_jin - ;
if(value < ){
data_three[i] = (char)(value + );
data_jin = '';
}
else{
data_three[i] = (char)(value % + );
data_jin = (char)(value / + );
}
}
if(data_jin != '')
data_three[i++] = data_jin;
}
void print_char(char data_three[MaxSize]){
int j;
printf("%s + %s = ", data1, data2);
j = i - ;
if(data_three[j] == '') {
printf("0\n");
return ;
}
for(; j >= ; j--){
printf("%c", data_three[j]);
}
printf("\n");
if(k != times)
printf("\n");
}
int main(int argc, char const *argv[])
{
scanf("%d\n", &times);
for(k = ; k <= times; ++k){
char data_one[MaxSize], data_two[MaxSize], data_three[MaxSize];
getchars_two(data_one, data_two);
big_data_jia(data_one, data_two, data_three);
printf("Case %d:\n", k);
print_char(data_three);
}
return ;
}