三刃木系列多功能军刀:一个简单C#程序

来源:百度文库 编辑:高考问答 时间:2024/04/29 22:47:32
//有一行电文,已按下面规律译成密码:
//
//A→Z a→z
//
//B→Y b→y
//
//C→X c→x
//
//┆ ┆
//
//即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母.非字母字符不变。要求编程序将密码译回原文,并打印出密码和原文。
//
//
using System;
class App
{
public static void Main()
{ char [] a=new char[] {'A','B','C','a','b','c'};
for(int i=1;i<=26;i++)
{ char k =(char)1;
a[i]=a[i]-k;
}
for(int j=0;j<a.Length;j++)
{
Console.WriteLine("{0 }",a[j]);
}
}
}

为什么提示“ 无法将类型“int”隐式转换为“char”

请教各位怎么改?

class App
{
/// <summary>
/// 即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母.非字母字符不变。要求编程序将密码译回原文,并打印出密码和原文。
/// </summary>
/// <param name="str">电文字符串</param>
/// <param name="n">n==0为加密,其它整数为解密</param>
///<param outstr="n">获得处理后的电文</param>
public static void Main(string str,int n,out string outstr)
{
char code;
string strChar="";
string checkCode = String.Empty;

System.Random random = new Random();

for(int i=0; i<26; i++)
{
code = (char)('A' + (char)(i));
strChar+=code;
}

for(int i=0;i<strChar.Length-1;i++)
{

if(n==0)str=str.Replace(strChar.Substring(i,1),strChar.Substring(26-i-1,1));
else str=str.Replace(strChar.Substring(26-i-1,1),strChar.Substring(i,1));

}
outstr=str;

}
}

调试无错 ! 没有进行测试。

char 是不能相减的。而且你的程序逻辑有问题。