如何修复我的嵌套代码循环通过ASCII表放在一起?

cyb*_*unk 1 c++

我想从ASCII表循环从33 - 47和 - 58到64和91到96,然后一起显示,但我想我是以错误的方式进行的.我该怎么解决?

我使用带有代码块的Windows 8作为IDE

int main()
{
    for(int i=33; i<=47 ;i++){
        for(int j=58; j<=64;j++){
             for(int z=91; z<=96;z++){
                std::cout << (char)z;
            }
        }
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

一旦循环完成,它应该像这样显示

!"#$%&'()*+, - /:; <=> @ [] ^ _`.?{|}〜

小智 5

在循环1的每次迭代中嵌套这些循环的方式将运行整个循环2,并且循环2的每次迭代将运行整个循环3.

由于您只需要一个输出字符串,因此您可以通过三个独立的循环实现所需的输出.

int main()
{
    for(int i=33; i<=47 ;i++)
    {
        std::cout << (char)i;
    }
    for(int j=58; j<=64;j++)
    {
        std::cout << (char)j;
    }
    for(int z=91; z<=96;z++)
    {
        std::cout << (char)z;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

希望这个页面可以为循环嵌套提供更全面的解释https://www.tutorialspoint.com/cplusplus/cpp_nested_loops.htm

  • 你甚至不必使用i,j和z.理论上,如果你愿意,你甚至可以使用我. (3认同)