A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

            8、 接收用户输入的一句英文,将其中的单词以反序输出。  例如:“I love you”→“i evol uoy”
            Console.WriteLine("请输入一句英文");
            string word = Console.ReadLine();
            for (int i=word.Length-1;i>=0; i--)
            {
                Console.Write(word[i]);
            }
            Console.ReadKey();

程序写到这里了,我知道我是做错了,思路是 分割字符串后在倒序输出么,具体怎么写,能否给个注释 ,谢谢了

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

9 个回复

倒序浏览
Console.WriteLine("请输入一句英文");
string word = Console.ReadLine();  //I love you
string[] subs = word .Split(new char[]{' '},StringSplitOptions.RemoveEmptyEntries);
string result = "";
for( int k=0; k<subs.Length - 1; k++)
{
         result += subs[i] + " ";
}
result= result.Trim();  

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
许庭洲 发表于 2012-8-12 16:40
Console.WriteLine("请输入一句英文");
string word = Console.ReadLine();  //I love you
string[] subs = ...

貌似不对吧。。。
回复 使用道具 举报
你的问题解决了的话,你再做下将  “I love you”→“you love I”  ,看能不能写出

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
Console.WriteLine("请输入一句英文:");
            string word =Console.ReadLine();
            string result = "";
            for(int i=word.Length-1;i>=0;i--)
            {
                char a = word[i];               
                result = result + a;
            }
            Console.WriteLine(result);
            Console.ReadKey();

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
李祖庆 发表于 2012-8-12 17:20
你的问题解决了的话,你再做下将  “I love you”→“you love I”  ,看能不能写出 ...

我上面写的不就是吗
回复 使用道具 举报
许庭洲 黑马帝 2012-8-13 08:24:18
7#
本帖最后由 许庭洲 于 2012-8-13 08:25 编辑
孙亚雄 发表于 2012-8-12 17:04
貌似不对吧。。。

Console.WriteLine("请输入一句英文");
string word = Console.ReadLine();  //I love you
string[] subs = word .Split(new char[]{' '},StringSplitOptions.RemoveEmptyEntries);
string result = "";
foreach(string i in subs)
{
     for( int k=subs.Length - 1; k>=0; k--)
    {
         result += subs + " ";
    }
}
result= result.Trim();  
回复 使用道具 举报
孙亚雄 发表于 2012-8-12 18:53
我上面写的不就是吗

“I love you”→“i evol uoy” 和  “I love you”→“you love I”   是不一样的
回复 使用道具 举报
许波 中级黑马 2012-8-13 10:57:11
9#
Console.WriteLine("请输入一句英文");
            string word = Console.ReadLine();
            char[] newword = word.ToCharArray();
            string s = "";           
            for (int i = newword.Length; i > 0;i-- )
            {

                s += newword[i - 1];   
               
            }
            Console.WriteLine("倒叙输出的结果为");
            Console.Write(s);
            Console.ReadKey();
下面是第二种
Console.WriteLine("请输入一句英文");
            string word = Console.ReadLine();
            char[] newword = word.ToCharArray();         
            Console.Write(string.Concat<char>(newword.Reverse<char>()));

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
你这个应该把分割后的每个单词再存入一个数组,然后将 存入新数组的这个元素逆序输出就可以了。。。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Text5
{
    class Program
    {
        static void Main(string[] args)
        {  //接收用户输入的一句英文,将其中的单词以反序输出

            
            Console.WriteLine("您好,请输入一句英文!");

            string str = Console.ReadLine();
            string[] words = str.Split(' ');  //将英文句子 分割成空格隔开的几个单词、

            for (int i = 0; i < words.Length; i++)   // 进行 单词的个数次的循环、
            {
                char[] s = words[i].ToCharArray();    //将每个单词的字母存入s数组中。
                for (int j = s.Length - 1; j >= 0; j--)   //将每个单词逆序输出
                {
                  Console.Write(s[j]);
                }
                Console.Write(" ");
            }
            Console.ReadKey();



        }

    }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马