PersonalCorpus 版 (精华区)

寄信人: ooze (烂泥)
标  题: 713
发信站: 哈工大紫丁香 (2002年03月08日21:11:50 星期五)
来  源: mtlab4.hit.edu.cn 

773441 2002/03/08 13:11:05.246 Accepted 0:00.000 64
Bozhang ,HIT,P.R.China ... C++ 713 - Adding Reversed Numbers

void Int2Str(int a,char *s,int v)
{
    int i=0,j;
    char *p="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",ch;
    while (a>0) {
        s[i]=p[a%v];
        a/=v;   i++;
    }
    s[i]=0;
    for (j=0;j<i/2;j++) {
        ch=s[j]; s[j]=s[i-j-1]; s[i-j-1]=ch;
    }
}
int Str2Int(char *s)
{
    int i,j=0;
    for (i=0;s[i]!=0;i++) {
        if ((s[i]<'0')||(s[i]>'9')) return 0;
        j*=10;
        j+=(s[i]-48);
    }
    return j;
}
void main()
{
    int n,a,b,i,j,k;
    char s1[15],s2[15],ch;
    scanf("%d",&n);
    while (n>0) {
        n--;
        scanf("%d%d\n",&a,&b);
        Int2Str(a,s1,10);
        Int2Str(b,s2,10);
        k=strlen(s1);
        for (i=0;i<k/2;i++) {
            ch=s1[i]; s1[i]=s1[k-i-1]; s1[k-i-1]=ch;
        }
        k=strlen(s2);
        for (i=0;i<k/2;i++) {
            ch=s2[i]; s2[i]=s2[k-i-1]; s2[k-i-1]=ch;
        }
        a=Str2Int(s1)+Str2Int(s2);
        Int2Str(a,s1,10);
        k=strlen(s1);
        for (i=0;i<k/2;i++) {
            ch=s1[i]; s1[i]=s1[k-i-1]; s1[k-i-1]=ch;
        }
        for (i=0;i<k-1;i++) if (s1[i]!=48) break;
        for (j=i;j<k;j++) printf("%c",s1[j]); printf("\n");
    }
}

--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: mtlab4.hit.edu.cn]
--
※ 转寄:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: mtlab4.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.646毫秒