0

我非常喜欢 C++,最近有一个家庭作业,我需要将 1000 个最常见的单词存储到一个字符串数组中。我想知道我该怎么做。到目前为止,这是我的示例代码,

if(infile.good() && outfile.good())
    {
        //save 1000 common words to a string 

        for (int i=0; i<1000; i++) 
        {
            totalWordsIn1000MostCommon++; 
            break; 
        }

        while (infile.good()) 
        {
            string commonWords[1000];
            infile >> commonWords;
        }
    }

谢谢!

4

2 回答 2

0

上面的for循环一开始什么都不做,只是在第一次迭代时中断。如果您阅读如何在 C++ 中使用循环会更好。还要看看 C++ 中变量的作用域。在您的情况下, commonWords 在while循环中声明,因此每次都会创建并在每次循环迭代后销毁。你想要的是这样的:

int i = 0;
std::string commonWords[1000];
while (i < 1000 && infile.good()) {
    infile >> commonWords[i];
    ++i;
}

我把剩下的部分活给你完成你的作业。

于 2012-04-23T18:20:40.067 回答
0
   #include <cstdio>
   #include <string>

   freopen(inputfileName,"r",stdin); 
   const int words = 1000;
   string myArr[words];
   for(int i=0;i<words;i++){
       string line;
       getline(cin,line);
       myArr[i] = line;      
   }
于 2012-04-23T18:19:40.087 回答