char[] strArray = str.ToCharArray(); //将字符串转换为字符数组
如何实现A~Z的循环?判断是否是XYZ,如果是则-26(26个字母)
char[] strArray = str.ToCharArray(); //将字符串转换为字符数组
如何实现A~Z的循环?判断是否是XYZ,如果是则-26(26个字母)
编程题:编写一个应用程序用来输入的字符串进行加密,对于字母字符串加密规则如下:'a'→'d' 'p'→'e''w'→'z' .. 'x'→'a' 'y'→'þ''Z'→'℃“A→'D''B'→'E''W'→'Z'.. X'→'A 'Y'→'B’Z'→'℃?对于其他字符,不进行加密。
//解题思路:先把输入的字符串变成字符数组
然后遍历这个数组,判断输入的每个字符是否是字母,如果是,就进行加密
然后用foreach进行遍历,输出每个加密后的字符
string str = Console.ReadLine( );
char [ ] strArray = str.ToCharArray( );
for(int i = 0 ; i < strArray.Length ; i ++){
if((strArray[i]>='a'&& strArray[i]<='z' )||(strArray[i]>='A'&& strArray[i]<='z')){
strArray[i] = (char)(strArray[i]+3);
}
if((strArray[i]>'z'&&strArray[i]<='z'+3)||(strArray[i]>'Z'&&strArray[i]<'Z'+3)){
strArray[i] = (char)(strArray[i]-26);
}
}
foreach(char temp in strArray){
Console.Write(temp);
}
//编写一个应用程序用来输入的字符串进行加密,对于字母字符串加密规则如下:
//'a'→'d' b'→'e’ 'w'→'z' …. x'→'a’'y'→'b''z'→'c' 'A'→'D'"B'→'℉'"W'→ 'Z' .. "X→'A' 'Y'→'B’ Z'→'C'
//对于其他字符,不进行加密。
string zifuchuan = Console.ReadLine();//用户输入字符串
char[] shuzu = zifuchuan.ToCharArray ();//将字符串转换成数组
for(int i = 0; i < shuzu.Length; i++) //遍历数组 .Length 是获取数组中元素的总数
{
if (('a' <= shuzu[i] && shuzu[i] <= 'z')||('A' <= shuzu[i] && shuzu[i] <= 'Z')) //判断是否为小写字母 或者是大写字母
{
shuzu[i] = (char)(shuzu[i] + 3); //强制类型转换 将数组中属于a-z或者A-Z的字母往后移3位
if(shuzu[i]>'z' && shuzu[i] < 'z' + 4) //判断是否是字母x,y,z
{
shuzu[i] = (char)(shuzu[i] - 26); //将xyz往前移26位
}
if (shuzu[i] > 'Z' && shuzu[i] < 'Z' + 4) //判断是否是字母X,Y,Z
{
shuzu[i] = (char)(shuzu[i] - 26); //将XYZ往前移26位
}
}
}
foreach (char temp in shuzu) //使用foreach循环 遍历数组
{
Console.Write(temp);
}
Console.ReadKey();
int he = 364; //喝的可乐
int ping = 364; //空瓶子
while (ping >= 3) //当空瓶子大于或等于3时
{
he += ping / 3; //喝的可乐=原来的364瓶 + 空瓶子/3
ping = ping / 3 + ping % 3; //空瓶子 = 空瓶子/3 + 余下的空瓶子
}
Console.WriteLine("可以喝{0}瓶可乐"+" "+"剩下{1}个空瓶",he,ping);
Console.ReadKey();
// 3个可乐瓶可以换一瓶可乐,现在有364瓶可乐,问一共可以喝多少瓶可乐,剩下几个空瓶。
int he = 0; //喝的可乐
int ping = 0; //剩下的瓶子
for (int a = 364; a > 0; a--) //当可乐大于0时 递减
{
he++; //喝了的可乐递加
ping++; //空瓶子递加
if(ping >= 3) //当空瓶子大于或等于3时
{
a++; //总计可乐+1
ping=ping % 3;//瓶子除以3
}
}
Console.WriteLine("可以喝{0}瓶可乐"+" "+"剩下{1}个空瓶",he,ping);
Console.ReadKey();
当筛选字符串中的字母,如大小写区分时,无法直接对字符串的每个字母进行判别,因此需要将字符串转换为数组后才能进行判别。
字符串转换为数组的方法为
char[] strArray=str.ToCharArray();
例:
string str = "Hello World"
char[] strArraay = str.ToCharArray();
strArray[3] = 'a';
输出结果为Helao World
当需要遍历一个字符串时,可以书写为
String str = Console.ReadLine();
char[] strArray = str.ToCharArraay();
for(int i = 0; i < strArray.Length; i++)
//Length为获取字符串长度
{
//循环内容
}
ToCharArray()//把一个字符串转换成一个字符数组
ToCharArray();方法
将字符串转换为可编辑数组方法:
//string aa = ("abcdefghijklmnopqrstuvwxyz");
string str=Console.ReadLine();
//将接收到的字符串,转换为字符数组(可编辑替换)
char[] strArray = str.ToCharArray();
//遍历所有字符
for(int i=0;i<strArray.Length;i++)
{
if((strArray[i]>='a' && strArray[i]<='z')||
( strArray[i]>='A' && strArray[i]<='Z'))
if(strArray[i]>'z'&&strArray[i]<'z'+4)
{
strArray[i]=(char)strArray[i]-26//处理xyz
}
if(strArray[i]>'Z'&&strArray[i]<'Z'+4)
{
strArray[i]=(char)strArray[i]-26//处理XYZ
}
{
//给所有字符加密
strArray[i]=(char)strArray[i]+3
}
//遍历所有字符并输出
foreach(char temp in strArray)
{
Console.Write(temp);
}
string shuru = Console.ReadLine();
char letter;
for (int i = 0; i < shuru.Length; i++)
{
int temp = (int)shuru[i];
if((temp >= 65 && temp <= 90) || (temp >= 97 && temp <= 122))
{
if(temp < 88 || (temp >= 97 && temp < 120))
{
temp += 3;
letter = (char)temp;
Console.Write(letter);
}
else if((temp >= 88 && temp <= 90) || temp >= 120)
{
temp -= 23;
letter = (char)temp;
Console.Write(letter);
}
}
else
{
Console.Write(shuru[i]);
}
}
Console.ReadKey();
string str = " HELLO World " ;
char [ ] strArray = str.ToCharArray( ) ;
strArray [ 3 ] = ' a ' ;
字符可以
第八十八课 编程题—可乐和字符串加密
1.
3个可乐瓶可以换一瓶可乐,现在有364瓶可乐,问一共可以喝多少瓶可乐,剩下几个空瓶子?
int i = 364;
int a = 364;
while (i >= 3)
{
a += i / 3;
i = ( i / 3 ) +( i % 3);
}
Console.Write("一共可以喝"+a+"瓶可乐"+" "+"剩下"+i+"个空瓶子");
2. 编写一个应用程序用来将输入的字符串进行加密,对于字母字符串加密规则如下:
'a'→'d' 'b'→'e' 'c'→'f'......'z'→'c'
Console.WriteLine("请输入密码");
string temp = Convert.ToString(Console.ReadLine());
foreach(int so in temp)
{
if (so >= 'a' && so <= 'z' || so >= 'A' && so <= 'Z')
{
int a = so + 3;
if (a >= 123 && a <= 125|| a >= 91 && a <= 93)
{
a = a - 26;
}
char b = Convert.ToChar(a);
Console.Write(b);
}
else
{
char c = Convert.ToChar(so);
Console.Write(c);
}
}
3. 字符串中的字符不可更改,但将字符串转为字符数组后即可更改。
ToCharArray();方法的作用是将字符串转为字符数组。
例:
string a = "Hello World";
char[] b = a.ToCharArray();
b[3] = 'p';
Console.WriteLine(b);
输出为:
Helop Worle