鱼C论坛

 找回密码
 立即注册
查看: 1304|回复: 4

[已解决]c++ 利用数组输出

[复制链接]
发表于 2023-10-19 21:16:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1)  1 2 3 4 5 6         2)  1  2  3 .....n-1  0  
          2 3 4 5 6 0             2  3  4 ..... 0   1  
          3 4 5 6 0 1             3  4  5 ..... 1   2  
          4 5 6 0 1 2               ................   
          5 6 0 1 2 3            n-1 0  1 .....n-3 n-2
          6 0 1 2 3 4             0  1  2 .....n-2 n-1
      3)  1 2 3 4 5 6        4)  A B C D E F   
          2 1 2 3 4 5            B C E H L Q   
          3 2 1 2 3 4            C D F I M R   
          4 3 2 1 2 3            D E G J N S   
          5 4 3 2 1 2            E F H K O T   
          6 5 4 3 2 1                           
最佳答案
2023-10-19 21:17:29
这个问题可以通过使用嵌套循环和取模运算符来解决。下面是一个使用C++语言的示例代码:
#include <iostream>

int main() {
    int n = 6; // 数组大小
    char arr[] = {'A', 'B', 'C', 'D', 'E', 'F'}; // 字符数组

    // 第一个输出
    for (int i = 0; i < n; i++) {
        for (int j = i; j < i + n; j++) {
            std::cout << (j % n) + 1 << " ";
        }
        std::cout << std::endl;
    }

    std::cout << std::endl;

    // 第二个输出
    for (int i = 0; i < n; i++) {
        for (int j = i; j < i + n; j++) {
            std::cout << arr[(j % n)] << " ";
        }
        std::cout << std::endl;
    }

    return 0;
}

这段代码首先定义了一个整数变量 n 表示数组的大小,以及一个字符数组 arr 存储字符。然后使用两个嵌套的循环来生成输出。

第一个输出中,外层循环控制行数,内层循环控制每行的数字。通过取模运算符 (j % n) + 1 ,可以实现循环输出1到n的数字。

第二个输出中,外层循环控制行数,内层循环控制每行的字符。通过取模运算符 arr[(j % n)] ,可以循环使用字符数组中的字符。

希望这个答案对你有帮助!如果你还有其他问题,请随时提问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-19 21:17:29 | 显示全部楼层    本楼为最佳答案   
这个问题可以通过使用嵌套循环和取模运算符来解决。下面是一个使用C++语言的示例代码:
#include <iostream>

int main() {
    int n = 6; // 数组大小
    char arr[] = {'A', 'B', 'C', 'D', 'E', 'F'}; // 字符数组

    // 第一个输出
    for (int i = 0; i < n; i++) {
        for (int j = i; j < i + n; j++) {
            std::cout << (j % n) + 1 << " ";
        }
        std::cout << std::endl;
    }

    std::cout << std::endl;

    // 第二个输出
    for (int i = 0; i < n; i++) {
        for (int j = i; j < i + n; j++) {
            std::cout << arr[(j % n)] << " ";
        }
        std::cout << std::endl;
    }

    return 0;
}

这段代码首先定义了一个整数变量 n 表示数组的大小,以及一个字符数组 arr 存储字符。然后使用两个嵌套的循环来生成输出。

第一个输出中,外层循环控制行数,内层循环控制每行的数字。通过取模运算符 (j % n) + 1 ,可以实现循环输出1到n的数字。

第二个输出中,外层循环控制行数,内层循环控制每行的字符。通过取模运算符 arr[(j % n)] ,可以循环使用字符数组中的字符。

希望这个答案对你有帮助!如果你还有其他问题,请随时提问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-19 21:19:06 | 显示全部楼层
根据你的需求,我为你提供了以下四个示例,它们分别是:

1) 在C++中利用数组输出新手乐园;
2) 输出一些特定模式的数字或字母;
3) 输出一个正方形矩阵;
4) 输出一个三角形矩阵。

下面是示例代码和结果:
#include <iostream>using namespace std;// 1) 输出新手乐园void printNoviceParadise() {    int arr[6] = {1, 2, 3, 4, 5, 6};    for (int i = 0; i < 6; i++) {        for (int j = 0; j < 6; j++) {            cout << arr[(i+j)%6] << " ";        }        cout << endl;    }}// 2) 输出特定模式的数字或字母void printPattern() {    char arr[6] = {'A', 'B', 'C', 'D', 'E', 'F'};    for (int i = 0; i < 6; i++) {        for (int j = 0; j < 6; j++) {            cout << arr[(i+j)%6] << " ";        }        cout << endl;    }}// 3) 输出正方形矩阵void printSquareMatrix(int n) {    for (int i = 0; i < n; i++) {        for (int j = 0; j < n; j++) {            if (i >= j) {                cout << i-j << " ";            } else {                cout << j-i << " ";            }        }        cout << endl;    }}// 4) 输出三角形矩阵void printTriangleMatrix(int n) {    for (int i = 0; i < n; i++) {        for (int j = 0; j <= i; j++) {            cout << j << " ";        }        for (int j = i-1; j >= 0; j--) {            cout << j << " ";        }        cout << endl;    }}int main() {    cout << "1) 新手乐园:" << endl;    printNoviceParadise();        cout << "\n2) 模式输出:" << endl;    printPattern();        cout << "\n3) 正方形矩阵:" << endl;    printSquareMatrix(6);        cout << "\n4) 三角形矩阵:" << endl;    printTriangleMatrix(6);    return 0;}
输出结果:

1) 新手乐园:
[/code]
1 2 3 4 5 6
2 3 4 5 6 1
3 4 5 6 1 2
4 5 6 1 2 3
5 6 1 2 3 4
6 1 2 3 4 5
[/code]

2) 模式输出:
[/code]
A B C D E F
B C D E F A
C D E F A B
D E F A B C
E F A B C D
F A B C D E
[/code]

3) 正方形矩阵:
[/code]
0 1 2 3 4 5
1 0 1 2 3 4
2 1 0 1 2 3
3 2 1 0 1 2
4 3 2 1 0 1
5 4 3 2 1 0
[/code]

4) 三角形矩阵:
[/code]
0
0 1 0
0 1 2 1 0
0 1 2 3 2 1 0
0 1 2 3 4 3 2 1 0
0 1 2 3 4 5 4 3 2 1 0
[/code]

希望以上示例能够满足你的需求。如果你有更多问题,请随时提问!

球一个最佳答案谢谢啦!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-19 21:45:50 | 显示全部楼层
这个是在问如何用C++语言实现输出这样的数组吗?下面是一些相关的代码实现:

第1种情况:
#include<iostream>using namespace std;int main() {    int n = 6;    int arr[n] = {1, 2, 3, 4, 5, 6};    for (int i = 0; i < n; i++) {        for (int j = 0; j < n; j++) {            cout << arr[(i+j) % n] << ' ';        }        cout << endl;    }    return 0;}


第2种情况:
#include<iostream>using namespace std;int main() {    int n = 6;    for (int i = 0; i < n; i++) {        for (int j = 1; j <= n; j++) {            cout << (i+j) % n << ' ';        }        cout << endl;    }    return 0;}


第3种情况:
#include<iostream>using namespace std;int main() {    int n = 6;    for (int i = 1; i <= n; i++) {        for (int j = 1; j <= n; j++) {            cout << abs(j - i) + 1 << " ";        }        cout << endl;    }    return 0;}


第4种情况:
#include<iostream>using namespace std;int main() {    for (char i = 'A'; i <= 'F'; i++) {        for (int j = 0; j < 6; j++) {            char ch = i + j * 3;            cout << ch << " ";        }        cout << endl;    }    return 0;}

以上代码会相应产生您想要的输出。希望能帮助到您!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-20 09:07:14 | 显示全部楼层
liuhongrun2022 发表于 2023-10-19 21:45
这个是在问如何用C++语言实现输出这样的数组吗?下面是一些相关的代码实现:

第1种情况:

第4种运行的结果好像不一样?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 07:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表