需要帮助名字姓氏名字

时间:2009-12-14 06:18:03

标签: c#

我需要帮助才能创建一个程序,允许用户输入以空格分隔的名字和姓氏。然后,我需要反向显示这些信息。

输入: John Doe

显示: Doe, John

有人可以帮我解决这个问题,我一直试图这样做超过一个星期而且没有任何进展。我在Visual Studio 2008 C#中编程。提前感谢您提供的任何帮助。

5 个答案:

答案 0 :(得分:3)

尝试使用String.Split Method表示字符串,并使用所需的分隔符。

一旦有了字符串数组,就可以使用它们来格式化返回值。 (见String.Format Method (String, Object[])

还请记住,您的字符串数组可能不包含您期望的正确条目数,因此您可能需要查看Array.Length Property myStringArray.Length )。

答案 1 :(得分:1)

这是我采取的方法。

  1. 在名称中找到空格的索引。
  2. 提取第一个名称,方法是将字符串开头的所有字符提取到您找到的空格之前。
  3. 提取姓氏,将所有字符从空格后面提取到字符串末尾。
  4. 这应该足以让你入门。您需要的方法将在String类中。如果您遇到上述任何一个步骤,请发布您尝试过的内容以及失败的位置。

答案 2 :(得分:1)

name.Split(' ').Reverse().Aggregate((acc, c) => acc + ", " + c);

答案 3 :(得分:0)

        string fullName = "John Doe";
        string[] nameParts = fullName.Split(' ');
        string firstName = nameParts[0];
        string lastName = string.Empty;

        if (nameParts.Length == 2)
        {
            lastName = nameParts[1];
        }
        else
        {
            for (int i = 1; i < nameParts.Length; i++)
            {
                lastName += nameParts[i];
            }
        }

        string reversedName = lastName + ", " + firstName; // Cory Charlton rocks ;-)

答案 4 :(得分:0)

#include<iostream> 

using namespace std;  

int main()
{
    //variables for the names    
    char first[31], last[31];

    //prompt user for input    
    cout<< "Give me your name (first then last) and I will reverse it: ";

    cin>> first;    
    cin>> last;

    cout<< "Your name reversed is " << last << ", " << first << endl;

    return 0;
}