1、對輸入的字串進行加解密,並輸出。
2加密方法為:
當內容是英文本母時則用該英文本母的後乙個字母替換,同時字母變換大小寫,如字母a時則替換為b;字母z時則替換為a;
當內容是數字時則把該數字加1,如0替換1,1替換2,9替換0;
其他字元不做變化。
3、解密方法為加密的逆過程。
介面描述:
實現介面,每個介面實現1個基本操作:
void encrypt (char aucpassword, char aucresult):在該函式中實現字串加密並輸出
說明:1、字串以\0結尾。
2、字串最長100個字元。
int unencrypt (char result, char password):在該函式中實現字串解密並輸出
說明:1、字串以\0結尾。
2、字串最長100個字元。
輸入說明
輸入一串要加密的密碼
輸入一串加過密的密碼
輸出說明
輸出加密後的字元
輸出解密後的字元
示例1
abcdefgbcdefgh
bcdefgh本題考查知識點:字串、查表法abcdefg
本題難度:初級
int encrypt (char password, char result)
else
} else if(password[i]>='a'&&password[i]<='z')
else
} else if(password[i]>='0'&&password[i]<='9')
else
result[i] = '0';
}else
}result[len] = '\0';
return 0;
}int unencrypt (char result, char password)
else
} else if(result[i]>='a'&&result[i]<='z')
else
} else if(result[i]>='0'&&result[i]<='9')
else
password[i] = '9';
}else
}password[len] = '\0';
return 0;
}
優秀**學習:
int encrypt (char password, char result)
; char littleletter = ;
char num = "01234567890";
if(null == password || null == result)
for(int i = 0;i < strlen(password);i++)
else if(password[i] == littleletter[j])
else if(password[i] == num[j])
}} result[strlen(password)] = '\0';
return 0;
}int unencrypt (char result, char password)
for(int i = 0;i < strlen(result);i++)
else if(result[i] == littleletter[j])
else if(result[i] == num[j])
}} password[strlen(result)] = '\0';
return 0;
}
華為oj 字串加解密
對英文本元,我們其實可以把它看成26進製,即對應0 25,這樣在加密的時候把算出的值對26取餘就可以了,但是要注意一下大小寫字母變換,舉個例子 小寫字母c,那麼c對應的值是 c a 2,加密時,2 1 a 就轉換成了加密後大寫字母,d 但是到 z 會出現問題,轉換不到 a 所以其對26取餘。對於解密...
華為OJ 字串加解密
字串加解密 1 對輸入的字串進行加解密,並輸出。2加密方法為 當內容是英文本母時則用該英文本母的後乙個字母替換,同時字母變換大小寫,如字母a 時則替換為 b 字母 z時則替換為a 當內容是數字時則把該數字加1,如0 替換1,1 替換2,9 替換0 其他字元不做變化。3 解密方法為加密的逆過程。介面描...
華為OJ 字串加解密
述 題目描述 1 對輸入的字串進行加解密,並輸出。2加密方法為 當內容是英文本母時則用該英文本母的後乙個字母替換,同時字母變換大小寫,如字母a時則替換為b 字母z時則替換為a 當內容是數字時則把該數字加1,如0替換1,1替換2,9替換0 其他字元不做變化。3 解密方法為加密的逆過程。介面描述 實現介...