黑马程序员技术交流社区
标题:
编程小问题
[打印本页]
作者:
985127948
时间:
2012-11-9 17:42
标题:
编程小问题
接收用户输入的一句英文,将其中的单词以反序输出。 例如:“I love you”→“i evol uoy”
我是初学c#猛一看还真没有思路,那个高手给指点一下,如果然我输出“uoy evol i”我还有点思路,并且这里的大写I输出来的时候是小写i的,高手指点一下。
作者:
郑昱曦
时间:
2012-11-9 17:53
可以以空格为标识用Split(' ')方法将该字符串分成三个数组,再对数组中的每个字符串逐个倒过来就ok了,然后拼接在一起就可以了
作者:
李栋Jelly
时间:
2012-11-9 17:58
按楼上的将三个数组放在一个倒序的for循环中, I 转换成 i 可以用ToCharArray 或者Replace
作者:
吴瑞祥
时间:
2012-11-9 22:27
本帖最后由 wrx362114 于 2012-11-9 22:29 编辑
直接对这个字符数组循环判断,
for(i=0;i<length;i++)
{
if(str
>='a'&&str
<='z'
)
str
+='A'-
'a'
;
else if(
str
>='A'&&str
<='Z'
)
str
+='
a'-
A';
}
这个比较简单
作者:
维纳斯之叶
时间:
2012-11-10 09:52
嗯,想的和一楼的一样,用spilt()方法以空格为标识将字符串分割成数组, 然后再一次对它们取反最后拼接即可。。。其中大写的I变小写的i用ToLower()转换一下就好。
作者:
张静_90
时间:
2012-11-11 23:02
//接收用户输入的一句英文,将其中的单词以反序输出。例如“I love you”变为“i evol uoy”
static void Main(string[] args)
{
//定义单词的起始和结束位置变量
int star=0,end=0;
//提示用户输入
System.Console.WriteLine("请输入一句英文:");
//接收键盘的值
string str = System.Console.ReadLine();
//循环字符串找出每个单词
for (int i = 0; i <str.Length; i++)
{
//如果是空字符表示一个单词结束
if (str[i] ==' ')
{
//找到单词尾
end = i-1;
//调用逆序输出单词函数
nixu (str,star,end);
//单词之间加空格
System.Console.Write(" ");
//找到下一个单词的起点
star = end+2;
}
}
//最后一个单词的结尾
end = str.Length-1 ;
//逆序输出最后一个单词
nixu (str,star,end);
System.Console.ReadKey();
}
/// <summary>
/// 逆序输出一个单词
/// </summary>
/// <param name="str">要逆序输出单词所在的字符串</param>
/// <param name="a">单词在字符串中的起始位置</param>
/// <param name="b">单词在字符串中的的结束位置</param>
static void nixu(string str,int a,int b)
{
for (int j = b; j >= a; j--)
{
System.Console.Write(str[j]);
}
}
作者:
郭会茹
时间:
2012-11-12 08:48
你把分割后的字符串,用for循环遍历,在for循环中用TocharArray把每个单词转换为char数组,然后Array.reverse反转
作者:
王新阳
时间:
2012-11-13 12:39
/// <summary>
/// 接收用户输入的一句英文,将其中的单词以反序输出。
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
Console.WriteLine("请您输入一段英文");
string input = Console.ReadLine();
string[] str = input.Split(' ');
for (int i = 0; i < str.Length; i++)
{
string aa = " ";
for (int j = 0; j < str[i].Length; j++)
{
aa += str[i].Substring(str[i].Length - 1 - j, 1);
}
str[i] = aa;
}
for (int i = 0; i < str.Length; i++)
{
Console.Write(str[i] + "");
}
Console.ReadKey();
作者:
马毅
时间:
2012-11-13 14:38
其实没那么麻烦...
reverse方法可以把一个数组对象按元素顺序反转之后返回~~
直接调用即可
作者:
彭博文
时间:
2012-11-13 18:24
resverse.toArray()
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2