C#高端练习题

字符串的加密,解密;加密规则为:字符串中的每个字符加4,之后字符串进行倒置;如用户输入为“abcd“,加密后的字符串为“hgfe”。... 字符串的加密,解密;加密规则为:字符串中的每个字符加4,之后字符串进行倒置; 如用户输入为“abcd“,加密后的字符串为“hgfe”。 展开
 我来答
工程师首岳
推荐于2016-08-23 · TA获得超过278个赞
知道小有建树答主
回答量:162
采纳率:100%
帮助的人:103万
展开全部
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;
        }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友578a934
2014-06-20
知道答主
回答量:19
采纳率:0%
帮助的人:11.4万
展开全部
转换成char类型,加4,保存到一个数组里面然后倒着输出就ok
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d206200
2014-06-20 · TA获得超过148个赞
知道小有建树答主
回答量:176
采纳率:0%
帮助的人:108万
展开全部
1楼已经回答得差不多了,你可以试着自己写写,其实挺简单的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式