首页 > 解决方案 > 在数组 C++ 中交换字符

问题描述

我正在寻找一系列闪光灯,我希望它们出现在同一条线上。

像这样的东西

O * O * O * O * O * O *

        Title
O * O * O * O * O * O *

我希望这些角色交换位置,使其看起来像闪烁的灯光

char Lights[10] = { 'O','*','O','*','O','*','O','*','O','*'};
for (int x = 0; x >= 9; x++)
{
    cout << Lights[x];
    if (x % 2 = 1)
    {
        Lights[x] = 'O';
    }
    else
    {
        Lights[x] = '*';
    }
}

这是我尝试过的,主要问题是如何让它在同一行上不断打印和循环。我的 for 循环也出现错误,说“初始条件不满足测试,循环体未执行”对于我的 x 在第一个 if 语句中它说“表达式必须具有可修改的值”

标签: c++arrayssorting

解决方案


我不确定多行是否可行,但对于其中之一,这是 linux 中的方式:

while(true)
{
    std::cout<<"\rO * O * O * O * O *"<< std::flush;
    sleep(1);
    std::cout<<"\r* O * O * O * O * O"<< std::flush;
    sleep(1);
}

推荐阅读