[英]Separating and lexically ordering strings
我应该创建一个将每个单词从字符串打印到新行的函数,但也应该按照字典顺序对其进行排序,这就是我的困扰。 如果用户手动输入了每个单词( scanf()
),我知道如何按字典顺序进行排序,但是如果我使用自己的字符串语句,那么我将不知道如何开始该单词。 我知道在比较字符串时应该使用strcmp()
,但是当字符串“像这样布局”时如何比较每个单词?
这是我到目前为止的内容:
#include <stdio.h>
#include <string.h>
void ParseSentence ( char string[] );
int main()
{
char s[100];
strcpy ( s , "hello world, how are you today.");
printf("%s\n", s);
ParseSentence ( s );
}
/*Objective: Isolates the words in a string, printing them on separate lines
and omitting any deliminators*/
/*Input: A string of choice is passed as a character array*/
/*Output: void*/
void ParseSentence( char string[])
{
char *tokenPtr, *DelimList = ", ;.";
tokenPtr = strtok(string, DelimList);
while (tokenPtr != NULL)
{
printf("%s \n", tokenPtr);
tokenPtr = strtok(NULL, DelimList);
}
return;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.