1411 喜聞樂見的a b(20進製)

2021-08-21 16:27:03 字數 997 閱讀 7667

分析:本題要求進行100位以內的二十進位制數字相加運算。加數和被加數的長度不一定相等。超長數字的相加,我們用字串來處理。

先將兩個字串反轉,再從第0位開始到末尾,兩位依次相加,如果兩位相加的結果超過19,那麼需要向下一位產生進製。

最後將結果陣列反轉輸出即可。注意字元轉為數字的做法,如果字元本身是數字,減『0』即可,如果是字母,減『a』 + 10。

**:

#include#includeint main()

else

for(i=0;i='a'&&a[i]<='j') //如果是字元

a[i]=a[i]-'a'+10;

if(a[i]>='0'&&a[i]<='9') //如果是數字

a[i]=a[i]-48;

}for(i=0;i='a'&&b[i]<='j')

b[i]=b[i]-'a'+10;

if(b[i]>='0'&&b[i]<='9')

b[i]=b[i]-48;

}int a1[1000],b1[1000];

memset(a1, 0, sizeof(a1));

memset(b1, 0, sizeof(b1));

for(i=n1-1,j=0;i>=0;i--,j++) //反轉陣列a

a1[j]=a[i];

for(i=n2-1,j=0;i>=0;i--,j++) //反轉b

b1[j]=b[i];

for (i=0;i19)

}for (i=999; i>=0 ; i--)

if (i==0)

max=0;

}for(i=max;i>=0;i--)

printf("\n");

}return 0;

}

ZCMU 1411 喜聞樂見的a b

time limit 1 sec memory limit 128 mb submit 386 solved 144 submit status web board 喜聞樂見的a b來了,當然二進位制,八進位制,十進位制什麼的估計你們也懶得寫了,來個20進製的a b 給出多組a和b,每個數字一行 數...

ZCMU1411 喜聞樂見的a b

喜聞樂見的a b來了,當然二進位制,八進位制,十進位制什麼的估計你們也懶得寫了,來個20進製的a b 給出多組a和b,每個數字一行 數字由0 9和小寫字母a j 10 19 給出的長度不超過100 每組資料輸出a b的和。1234567890 abcdefghij 99999jjjjj 999990...

1411 喜聞樂見的a b ZCMU

喜聞樂見的a b來了,當然二進位制,八進位制,十進位制什麼的估計你們也懶得寫了,來個20進製的a b 給出多組a和b,每個數字一行 數字由0 9和小寫字母a j 10 19 給出的長度不超過100 每組資料輸出a b的和 abcdefghij 99999jjjjj bdfi02467j iiiij0...