[英]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.