没什么可说的,就是要细心考虑全面一点。
| Accepted | 1205 | C | 00:00.00 | 388K |
#include<stdio.h>
#include <string.h>
char a[101],b[101 ];
void change(char arr[],int len)
{
int i;
for (i = 0; i < len; i++ )
{
if (arr[i] <= '9') arr[i] -= '0' ;
if (arr[i] >= 'a') arr[i] = arr[i] - 'a' + 10 ;
}
}
void solve()
{
int i,j,k,p = 0,len1 = strlen(a),len2 = strlen(b);
char c[102 ];
int len3 = len1 > len2 ? len1 : len2;
change(a,len1);
change(b,len2);
for (i = len1 - 1,j = len2 - 1,k = len3; i >= 0 || j >= 0; i--,j--,k-- )
{
if (i < 0 )
{
i = 0 ;
a[i] = 0 ;
}
if (j < 0 )
{
j = 0 ;
b[j] = 0 ;
}
c[k] = p + a[i] + b[j];
p = 0 ;
if (c[k] >= 20 )
{
c[k] -= 20 ;
p = 1 ;
}
}
c[0] = p;
c[len3 + 1] = 0 ;
for (i = 0; i < len3 + 1; i++ )
{
if (c[i] <= 9) c[i] += '0' ;
else c[i] = c[i] + 'a' - 10 ;
}
if (c[0] == '0') puts(&c[1 ]);
else puts(c);
}
void main()
{
#ifndef ONLINE_JUDGE
freopen("1205.txt","r" ,stdin);
#endif
while(scanf("%s%s",a,b) != EOF)
solve();
#ifndef ONLINe_JUDGE
fclose(stdin);
#endif
}
#include <string.h>
char a[101],b[101 ];
void change(char arr[],int len)
{
int i;
for (i = 0; i < len; i++ )
{
if (arr[i] <= '9') arr[i] -= '0' ;
if (arr[i] >= 'a') arr[i] = arr[i] - 'a' + 10 ;
}
}
void solve()
{
int i,j,k,p = 0,len1 = strlen(a),len2 = strlen(b);
char c[102 ];
int len3 = len1 > len2 ? len1 : len2;
change(a,len1);
change(b,len2);
for (i = len1 - 1,j = len2 - 1,k = len3; i >= 0 || j >= 0; i--,j--,k-- )
{
if (i < 0 )
{
i = 0 ;
a[i] = 0 ;
}
if (j < 0 )
{
j = 0 ;
b[j] = 0 ;
}
c[k] = p + a[i] + b[j];
p = 0 ;
if (c[k] >= 20 )
{
c[k] -= 20 ;
p = 1 ;
}
}
c[0] = p;
c[len3 + 1] = 0 ;
for (i = 0; i < len3 + 1; i++ )
{
if (c[i] <= 9) c[i] += '0' ;
else c[i] = c[i] + 'a' - 10 ;
}
if (c[0] == '0') puts(&c[1 ]);
else puts(c);
}
void main()
{
#ifndef ONLINE_JUDGE
freopen("1205.txt","r" ,stdin);
#endif
while(scanf("%s%s",a,b) != EOF)
solve();
#ifndef ONLINe_JUDGE
fclose(stdin);
#endif
}
763

被折叠的 条评论
为什么被折叠?



