C++字符[句子/单词]

C++ Characters [Sentences/Words]

本文关键字:单词 句子 字符 C++      更新时间:2023-10-16

我是C++的初学者,我想了解更多关于角色的信息,但我有一个问题。我试图制作一个程序来复制一个句子并在空格(' ')之间添加新行('n'),就像逐字分隔句子一样。

int main()
{
    char s[256], tmp[256];
    int m, n = 0, i;
    cout << "String: ";
    gets(s);
    for (i = 0; i <= strlen(s) - 1; i++)
    {
        if (s[i] == ' ')
        {
            m = i;
            if (n > strlen(s)) tmp[0] = 0;
            else
            {
                if (m >= strlen(s) - n + 1)
                    for (i = 0; i <= strlen(s) - n + 1; i++)
                        tmp[i] = s[n - 1 + i];
                else
                    for (i = 0; i < m; i++) tmp[i] = s[n - 1 + i];
            }
            strcat(tmp, "n");
            n = i;
        }
    }
    cout << tmp;
    system("PAUSE");
}

尝试

取代

for(i=0;i<=strlen(s)-1;i++)
{
    if(s[i] == ' ')
    {
        m=i;
        if(n>strlen(s)) tmp[0] = 0;
        else 
        {
            if(m>=strlen(s)-n+1) 
                for(i=0;i<=strlen(s)-n+1;i++) tmp[i] = s[n-1+i];
            else 
                for(i=0;i<m;i++) tmp[i]=s[n-1+i];
        }
        strcat(tmp,"n");
        n=i;
    }
}

for(i=0;i<=strlen(s)-1;i++)
{
    if(s[i] == ' ')
    {
        tmp[i] = 'n';
    }
    else
    {
        tmp[i] = s[i];
    }
}