C++ 从输入中读出一系列单词。使用「;“退出”;若要终止,请按输入顺序打印,然后按';不要把一个字打印两次。

C++ 从输入中读出一系列单词。使用「;“退出”;若要终止,请按输入顺序打印,然后按';不要把一个字打印两次。,c++,C++,如果有人能提供比我更好的代码,那就太好了,尽管它也很糟糕。还有,我的代码有问题!!当我打印我的新数组arr时,在输出中,当有重复的单词时,将跳过数组的位置,并为该单词输出一个空白 例如: bat, cat, mat, //here the word bat is not printed again, but instead i get an empty space rat, quit, 也请只使用指针,数组或字符串,因为我还没有研究向量,列表,地图等。多谢各位 #include&

如果有人能提供比我更好的代码,那就太好了,尽管它也很糟糕。还有,我的代码有问题!!当我打印我的新数组
arr
时,在输出中,当有重复的单词时,将跳过数组的位置,并为该单词输出一个空白

例如:

bat,
cat,
mat,
       //here the word bat is not printed again, but instead i get an empty space
rat,
quit,
也请只使用指针,数组或字符串,因为我还没有研究向量,列表,地图等。多谢各位

#include<iostream>
#include<conio.h>
#include<string>

using namespace std;

int main()
{
    string word[100];
    string arr[100];
    int i=0,j,k,m,n;

    while(1)
    {
        cout<<"enter word: \n";
        cin>>word[i];
        if(word[i]=="quit")  
        break;
        i++;
    } 

    for(j=i,m=0;j>=0,m<=i;m++)
    {                     
        for(k=j-1;k>=0;k--)
        {
            if(word[j] == word[k])
            goto start;                         
        }   

        arr[m]=word[j];                                                              
        start:
        j--;                                       
     }                                                 

     for(n=m;n>0;n--)
         cout<<arr[n]<<"\n";                                           

     getch();
 }
#包括
#包括
#包括
使用名称空间std;
int main()
{
字符串字[100];
字符串arr[100];
int i=0,j,k,m,n;
而(1)
{
coutword[i];
如果(字[i]=“退出”)
打破
i++;
} 
对于(j=i,m=0;j>=0,m=0;k--)
{
if(字[j]==字[k])
转到开始;
}   
arr[m]=字[j];
开始:
j--;
}                                                 
对于(n=m;n>0;n--)

cout修正了一点,我不想花时间去理解你的
,因为(j=I,m=0;j>=0,m)这个问题可能会问得更好。另外,欢迎使用堆栈溢出。请花时间阅读。你会得到一个(c:@PeterWood:code Review是针对有效的代码的。我无法重现任何问题,代码工作得很好。在“退出”之前,它会得到单词然后打印出来。又是什么问题?@Mat抱歉,我只读了第一句。IHMO最好在
found=true;
之后插入
break;
#include<iostream>
#include<conio.h>
#include<string>

using namespace std;

int main()
{
    string word[100];
    string arr[100];
    int wordCount = 0;

    while(1)
    {
        cout<<"enter word: \n";
        cin>>word[wordCount];
        if(word[wordCount] == "quit")
        {  
            break;
        }
        ++wordCount;
    } 

    int arrCount = 0;
    for(int i = 0; i < wordCount; ++i)
    {                  
        bool found = false;   
        for (int j = 0; j < arrCount; ++j)
        {
            if (arr[j] == word[i])
            {
                found = true;
                break;
            }
        }
        if (!found)
        {
            arr[arrCount] = word;
            ++arrCount;
        }
    }                                                 

    for(int i = 0; i < arrCount; ++i)
    {
        cout<<arr[n]<<"\n";
    }

    getch();
}