C#高端练习题
字符串的加密,解密;加密规则为:字符串中的每个字符加4,之后字符串进行倒置;如用户输入为“abcd“,加密后的字符串为“hgfe”。...
字符串的加密,解密;加密规则为:字符串中的每个字符加4,之后字符串进行倒置; 如用户输入为“abcd“,加密后的字符串为“hgfe”。
展开
展开全部
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//Console.WriteLine("请输入字符串:");
string str = "AZazdf!";
char[] chars = str.ToCharArray();
char[] newChars = new char[chars.Length];
for (int i = 0, leng = chars.Length; i < leng; i++)
{
char cr = chars[i];
int intCr = Convert.ToInt32(cr);
char newChar;
//大写字母65-90,//小写字母97-122
if ((intCr >= 65 && intCr <= 90) || (intCr >= 97 && intCr <= 122))
{
switch (cr.ToString())
{
/*字母为WXYZ时,从ABCD开始算*/
case "W":
newChar = 'A';
break;
case "w":
newChar = 'a';
break;
case "X":
newChar = 'B';
break;
case "x":
newChar = 'b';
break;
case "Y":
newChar = 'C';
break;
case "y":
newChar = 'c';
break;
case "Z":
newChar = 'D';
break;
case "z":
newChar = 'd';
break;
default:
newChar = Convert.ToChar(intCr + 4);
break;
}
}
else
{
//如果不是字母,是其他字符,默认不变
newChar = cr;
}
newChars[i] = newChar;
}
//反转
Array.Reverse(newChars);
//输出加密后的字符
Console.WriteLine(string.Join("", newChars));
Console.ReadLine();
}
}
}
2014-06-20
展开全部
private void button1_Click(object sender, EventArgs e)
{
string str = "abcdefg";
str = Asc(str);
string[] ascii = str.Split(',');
//加密,把ASCII加4后所得字符
str = null;
for (int i = 0; i < ascii.Length; i++)
{
str += Chr(int.Parse(ascii[i]) + 4);
}
//加密后的字符
this.textBox4.Text = Dz(str);
}
//ASCII码转换成字符
public static string Chr(int asciiCode)
{
if (asciiCode >= 0 && asciiCode <= 255)
{
System.Text.ASCIIEncoding asciiEncoding = new System.Text.ASCIIEncoding();
byte[] byteArray = new byte[] { (byte)asciiCode };
string strCharacter = asciiEncoding.GetString(byteArray);
return (strCharacter);
}
else
{
throw new Exception("ASCII Code is not valid.");
}
}
//将字符转换成ASCII十进制,用字符保存,逗号分割
public static string Asc(string str)
{
string strRe = null;
byte[] strByte = System.Text.Encoding.ASCII.GetBytes(str);
for (int i = 0; i < strByte.Length; i++)
{
strRe += strByte[i].ToString()+",";
}
strRe = strRe.Substring(0, strRe.Length - 1);
return strRe;
}
//倒置字符串
public static string Dz(string str)
{
string strDz = null;
for (int i = str.Length-1; i >=0; i--)
{
strDz += str.Substring(i, 1);
}
return strDz;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
转换成char类型,加4,保存到一个数组里面然后倒着输出就ok
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1楼已经回答得差不多了,你可以试着自己写写,其实挺简单的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询