2017-05-28 3 views
0

in einer bestimmten Zeichenfolge sollte eine Funktion, um die Wortnummer zurückgeben igibt das i (Index) Wort von String

char* getWord(char str[], int n) 

so, wenn str"My,. name is Jeff" ist, wenn ich soll

name seine getWord(2) die Rückkehr rufe

beachten sie, dass ich nicht string.h

ich habe versucht, verwenden können, die ' ' oder die '.' zwischen den Wörtern zu zählen, aber es kann kompliziert werden, wenn es mu sind ltiple dieser kommen einer nach dem anderen

Also, was ist der richtige Algorithmus auf diese

+2

Wenn Sie einen 'stringstream' verwenden, ist es sehr einfach: http://ideone.com/oV6TIZ – mch

Antwort

0

Sie eine äußere Schleife müssen die Worte zählt, die zwei inneren Schleifen. Die erste innere Schleife wird Whitespace-Zeichen überspringen. (Der Leerraum zwischen Wörtern.) Die zweite innere Schleife überspringt Nicht-Leerzeichen. (Die Wörter selbst.)

0

Verwenden Sie die STRTOK-Funktion, bei der alle Sonderzeichen als Trennzeichen übergeben werden (z. B.. ""). Auf diese Weise können Sie alle Wörter in Token umwandeln, und Sie können das Wort dann einfach wie übergebenen Index zurückgeben. Lassen Sie mich wissen, ob das funktioniert. z. strtok (str, delim) und so weiter.

Verwandte Themen