打印字符串中的中间字。 C编程

时间:2013-01-23 14:55:39

标签: c string tokenize

我需要帮助打印出中间字符串的代码。

第一个例子:

  

输入:我的名字是Alex

     

输出:名称或是< - 是中间

第二个例子:

  

输入:你好。我的编码需要帮助。

     

输出:帮助< - 中间词

希望有人可以帮助我。我会尝试跟进。

2 个答案:

答案 0 :(得分:3)

这是一个想法:

  1. 将字符串拆分为单词
  2. 现在您知道有多少单词,决定如何处理偶数情况
  3. 打印决定的字词
  4. 您可以使用strtok()进行拆分,也可以假设“典型”句子不超过50个单词,每个单词不超过16个字符。只是为了简化代码。

答案 1 :(得分:2)

完整代码:

#include <stdio.h>
#include<string.h>
#include<conio.h>
int main(){
char str[] = "good men to come to the aid of their country";
char delims[] = " ";
char *result;
char word[100][100];
int loop=1;
result = strtok(str, delims );
strcpy(word[0],result);
while( result != NULL ) {
    loop++;

    strcpy(word[loop],result);
     result = strtok( NULL, delims );

   }
int mid=loop/2-1;
// to print the middle element
printf("word is %s \n",word[mid+1]);
getch();
return 0;