日期:2014-05-19  浏览次数:20833 次

求助C#程序问题!
假设有一段程序对字符串进行加密,加密后的字符串的第一个字符是原字符串的最后一个字符,其余的每个字符是对应的原字符串中的前一个字符加上3.程序由用户任意输入字符串,加密然后输出!


请问这个用C#怎么写的代码啊!谢谢

------解决方案--------------------
加密后的字符串的第一个字符是原字符串的最后一个字符,其余的每个字符是对应的原字符串中的前一个字符加上3.程序由用户任意输入字符串,加密然后输出!
---------------
就是一个分割 组合字符串的问题
首先得到最后一个字符 string str1=substring(str,str.length-1,1)
for(int=0;i <str.length-1;i++)
{
//组合字符
}

------解决方案--------------------
string str1= "abcde ";
string str2=str1.Substring (str1.Length-1,1);
string str3=str1.Substring (0,str1.Length-1);
string str4=str2+str3;

------解决方案--------------------
private string encrypt(string strxx)
{
char[] strarr=strxx.ToCharArray();
string yy1=strxx[strarr.Length-1].ToString();
for(int i=1;i <strarr.Length-1;i++)
{
yy1+=(strarr[i]+3).ToString();
}
return yy1;
}
------解决方案--------------------
private string encrypt(string strxx)
{
char[] strarr=strxx.ToCharArray();
string yy1=strxx[strarr.Length-1].ToString();
for(int i=1;i <strarr.Length-1;i++)
{
yy1+=(char)(strarr[i]+3);
}
return yy1;
}
------解决方案--------------------
string jiami(string resourceString)
{
string returnString = " ";
char[] cc = new char[resourceString.length];
for(int i=0;i <resourceString.length-1;i++)
{
cc[i] = resourceString.Substring(i,1);
}
returnString = cc[resourceString.length-1];
for(int i=1;i <resourceString.length-1;i++)
{
returnString += Convert.ToChar(cc[i].ToInt32 + 3);
}
}
------解决方案--------------------
楼上的方法调试有一点问题
略作修改:
for(int i=1;i <strarr.Length-1;i++)
{
yy1+=(char)(strarr[i]+3);//修改此处 }

------解决方案--------------------
没看到+3
int i;
string str1= "abcde ";
string str2=str1.Substring (str1.Length-1,1);
string str3=str1.Substring (0,str1.Length-1);
string str4= " ";
foreach(char ch in str3)
{
i=Convert.ToSByte(ch)+3;
str4+=Convert .ToChar(i);
}
string str5=str2+str4;