c#循环左移字符示例
循环左移字符例如:abcde循环左移2个字符就是cdeab
using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace 循环左移
{
class program
{
static string reverse( char[] char2, int i, int j)
{
for (int begin=i,end=j;begin < end; begin++, end--)
{
char temp = char2[begin];
char2[begin] = char2[end];
char2[end] = temp;
}
return new string(char2);
}
static string leftshift( string str,int i ,int j)
{
char[] char1 = str.tochararray();
reverse( char1,0,i-1);
reverse( char1,i,j-1);
reverse( char1, 0, j - 1);
return new string(char1);
}
static void main(string[] args)
{
console.writeline("请输入一个字符串:");
string mystring = convert.tostring(console.readline());
int length = mystring.length;
console.writeline("请输入你要左移的位数,不要超过字符串长度"+length);
int n = convert.toint32(console.readline());
string str=leftshift(mystring, n, length);
console.writeline(str);
console.writeline();
console.readkey();
}
}
}