2015-12-02 128 views
2

试图学习C,所以我想反转字符串中的每个单词。 “Hello World”改为“olleH dlroW” 这是我迄今为止所做的。C字符串中的反向字

int main() 
{ 
    char str[100]; 
    int i; 
    printf("Enter string:"); 
    fgets(str,sizeof(str),stdin); 

    for (i = 0; i <= strlen(str); i++) 
    { 
     if (str[i] == ' ') 
     { 
      // Here the space and how should I switch words now? 
     } 
    } 

    return 0; 
} 

我应该做这样的事情:

TEMP = STR [1]; j = str [i-1];

然后切换位置? str [i] = j;和j = temp; 我在这里卡在这里!

+0

[遇到问题编写程序,以扭转串词在C](可能的重复http://stackoverflow.com/questions/29243374/having-trouble-writing-程序到字符串中的反向字符) – owacoder

回答

4

我不会放弃的答案,因为这似乎是一个家庭作业的问题,是一个学习的好机会,但在这里是一个暗示:

想想你怎么能编程参考每个“相反”字中的字母。所以str [0]和str [strlen(str)]等等。这应该对你有帮助,但随时可以进一步探讨问题。

0

尝试......

private void Button1_Click(object sender, EventArgs e) 
{ 
    const string targetWords = "Hello World"; 
    int count = targetWords.Length; 
    string result = null; 
    string chr = null; 

    while (!(count == 0)) { 
     chr = targetWords.Substring((count - 1), 1); 
     result += chr; 
     count -= 1; 
    } 
    Debug.WriteLine(result); 

} 
+0

这是在'C语言'中吗? – Michi