加密規則:輸入1a2b3c 輸出 abbccc
解密:輸入abbccc 輸出?1a2b3c
代碼:
using System;namespace 加密解密
{class Program{static void Main(string[] args){Encryption("4b2a8p");Decryption("ppppppoovvv");Console.ReadKey(); // 等待用戶按下任意鍵}// 加密static void Encryption(string shuju){string jiamizifu = ""; // 初始化加密后的字符串for (int i = 0; i < shuju.Length; i += 2) // 每次跳 2 個字符(數字 + 字母){// 獲取數字部分(字符重復次數)if (char.IsDigit(shuju[i])){int repeatCount = int.Parse(shuju[i].ToString());// 獲取字母部分if (i + 1 < shuju.Length && char.IsLetter(shuju[i + 1])){char character = shuju[i + 1];// 根據重復次數拼接字符for (int j = 0; j < repeatCount; j++){jiamizifu += character;}}}}Console.WriteLine("加密后的字符串:" + jiamizifu);}// 解密static void Decryption(string shuju){string jiemizifu = ""; // 初始化解密后的字符串int repeatCount = 1; // shuzu[i] 重復的次數for (int i = 0; i < shuju.Length; i++){char currentChar = shuju[i];repeatCount = 1;// 統計連續相同字符的數量while (i + 1 < shuju.Length && shuju[i + 1] == currentChar){repeatCount++;i++;}// 將統計結果轉換為數字加字符的形式jiemizifu += repeatCount.ToString() + currentChar;}Console.WriteLine("解密后的字符串:" + jiemizifu);}}
}
輸出:
?
?