0

私は初心者であり、この課題を開始する方法がわかりません。問題をグーグルで検索しようとしたときにいくつかのアイデアがありましたが、それらはすべて複雑すぎてうまく作成できませんでした。どんな助けでもいただければ幸いです。ちなみに私はC言語でプログラミングしています。

4

2 に答える 2

3

問題を自分で解決するのに役立つ可能性のある一連のタスクを次に示します。

  1. cでファイルを開いたり閉じたりしてみてください。「Cでファイルを開く方法」を検索します
  2. cのファイルから読み取ってみてください。「Cでテキストファイルを読み取る方法」を検索します
  3. これで、ファイルを開いて読み取る方法がわかりました。ファイルを開いて、ファイルの内容を1語ずつ印刷してみてください。ヒント、ループする必要があり、場合によってはトークン化する必要があります。
  4. 単語(cの文字列)の長さを決定してみてください。「cで文字列の長さを計算する」を検索します(これに使用できる標準関数があります)
  5. (ステップ3から)各単語を読みながら、その横の長さを印刷します。「フォーマットされた出力cを印刷する方法」を検索します
  6. これで、ファイルに各単語とその長さが含まれます。あなたがする必要があるのは最初の単語の長さを取得することです、そして同じ長さを持つ他のすべての単語を印刷する代わりに、単に数えます。そして最後に、それを印刷します。
于 2012-12-11T09:26:25.603 に答える
0

これを行うには本当に簡単な方法があります。はい、これ:

string text = File.ReadAllText(@"C:\Users\TestFolder\FromThisFileWeRead.txt");
\\you should be carefull, because if file is not exists, you will have an exeption
\\try to catch it your own way

            if (!string.IsNullOrEmpty(text))
            {
                string[] words = text.Split(new char[] {',', ' ', '\t', '\n', '\r'});
                \\separators depend on your text file

                int firstWordLength = words[0].Length;
                int countWordsTheSameLength = 0;

                foreach (string word in words)
                {
                    if(word.Length == firstWordLength)
                    {
                        countWordsTheSameLength++;
                    }
                }

前と同様の別の方法:

string text = File.ReadAllText(@"C:\Users\TestFolder\FromThisFileWeRead.txt");

            if (!string.IsNullOrEmpty(text))
            {
                int firstWordLength = words[0].Length;
                string[] words = text.Split(new char[] {',', ' ', '\t', '\n', '\r'});
                List<string> wordsList = new List<string>(words);
                int firstWordLength = words[0].Length;
                countWordsTheSameLength = wordsList.FindAll(word => word.Length == firstWordLength).Count;
}

どちらの場合も、 を使用する必要がありますSystem.IO

わかりやすいと思います。将来的には、FileStream、StreamRead、および StreamWrite クラスを試す必要があります。

幸運を!

于 2012-12-11T09:36:22.073 に答える