3

私は現在 C でプログラミングする方法を学んでいます。追加の練習として、先生からいくつかの問題を出されました。これが私の問題です。プログラムでこれを使用する必要があります。

 void strSplitTokens (char *s1, char s2[][], int *numWords);

問題の残りは次のとおりです。strSplitTokens を呼び出すと、文字列 s1 が単語に分割され、各単語が個別の char 配列に保存され、すべての文字列が 1 つの文字配列に保存されます。また、ポインターを使用して単語数を numWords に保存します。次のようにメインの文字列を出力します。

For(i=0;i<numWords;i++) printf("%s\n",s2[i]);

それを実行して、 I like Programmingのような文を入力すると、次のように出力する必要があります。

お気に入り

プログラミング

私の主な問題は、string.h を使用しないように言われたことです。アドバイスやガイダンスをいただければ幸いです。

私がこれまでに持っているのは、ほとんど意味のないモックアップコードです:

#include <stdio.h>
void strSplitTokens (char *s1, char s2[][], int *numWords);
int main()
{
    printf("Enter a sentence: ");
    strSplitTokens();

 For(i=0;i<numWords;i++) 
{
        printf("%s\n",s2[i]);
}
    return 0;
}
void strSplitTokens (char *s1, char s2[][], int *numWords);
{
    char s1;
    scanf("%s",&s1);
    if( s1 != '\n')
    {
        strSplitTokens();

    }
}
4

1 に答える 1

2

文字ごとにチェックします。スペースが来るまで各文字を 2 次元配列に入れます。

i=0;j=0;k=0;  
while(s[k]!='\n') {
    if(s[k]!=' ')
    {
        s1[i][j]=s[k];
        k++; 
        j++;
    }
    else{
        j=0;i++;
    }

}
于 2012-11-27T04:51:54.523 に答える