PAT乙級1048 數字加密(C語言)

2021-10-20 09:28:43 字數 1101 閱讀 7608

1048 數字加密 (20 分)

本題要求實現一種數字加密方法。首先固定乙個加密用正整數 a,對任一正整數 b,將其每 1 位數字與 a 的對應位置上的數字進行以下運算:對奇數字,對應位的數字相加後對 13 取餘——這裡用 j 代表 10、q 代表 11、k 代表 12;對偶數字,用 b 的數字減去 a 的數字,若結果為負數,則再加 10。這裡令個位為第 1 位。

輸入格式:

輸入在一行中依次給出 a 和 b,均為不超過 100 位的正整數,其間以空格分隔。

輸出格式:

在一行中輸出加密後的結果。

輸入樣例:

1234567 368782971

輸出樣例:

3695q8118

用兩個陣列來儲存a和b,在用另外乙個陣列來儲存加密後的結果,從末尾開始計算,用乙個變數來計數,計是第幾位,來判斷是奇數字還是偶數,長的部分單獨拿出來計算,輸出時注意從後往前輸出,陣列長度等於a(或者b),最長的哪乙個

#include

#include

intmain()

;scanf

("%s%s"

,a,b)

;int la=

strlen

(a),lb=

strlen

(b);

//求字串的長度

int i,j,sum=

0,m=

0,t;

for(i=la-

1,j=lb-

1;i>=

0&&j>=

0;i--

,j--

)else

//偶數字

}while

(i>=0)

//a長一些

else

//偶數

i--;}

while

(j>=0)

//b長一些

i=la>lb?la:lb;

for(i=i-

1;i>=

0;i--

)printf

("\n");

}

負數才加10,在a長的那部分處理中忘卻

1048 數字加密 PAT乙級 C

本題要求實現一種數字加密方法。首先固定乙個加密用正整數 a,對任一正整數 b,將其每 1 位數字與 a 的對應位置上的數字進行以下運算 對奇數字,對應位的數字相加後對 13 取餘 這裡用 j 代表 10 q 代表 11 k 代表 12 對偶數字,用 b 的數字減去 a 的數字,若結果為負數,則再加 ...

1048 數字加密(PAT 乙級 C 實現)

1048 數字加密 20 20 point s 本題要求實現一種數字加密方法。首先固定乙個加密用正整數a,對任一正整數b,將其每1位數字與a的對應位置上的數字進行以下運算 對奇數字,對應位的數字相加後對13取餘 這裡用j代表10 q代表11 k代表12 對偶數字,用b的數字減去a的數字,若結果為負數...

PAT乙級 1048 數字加密 20

題目 本題要求實現一種數字加密方法。首先固定乙個加密用正整數a,對任一正整數b,將其每1位數字與a的對應位置上的數字進行以下運算 對奇數字,對應位的數字相加後對13取餘 這裡用j代表10 q代表11 k代表12 對偶數字,用b的數字減去a的數字,若結果為負數,則再加10。這裡令個位為第1位。輸入格式...