王鹿其 发表于 2023-10-19 21:16:38

c++ 利用数组输出

1)1 2 3 4 5 6         2)123 .....n-10
          2 3 4 5 6 0             234 ..... 0   1
          3 4 5 6 0 1             345 ..... 1   2
          4 5 6 0 1 2               ................   
          5 6 0 1 2 3            n-1 01 .....n-3 n-2
          6 0 1 2 3 4             012 .....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                           

isdkz 发表于 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)] ,可以循环使用字符数组中的字符。

希望这个答案对你有帮助!如果你还有其他问题,请随时提问。

Mike_python小 发表于 2023-10-19 21:19:06

根据你的需求,我为你提供了以下四个示例,它们分别是:

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

下面是示例代码和结果:


#include <iostream>

using namespace std;

// 1) 输出新手乐园
void printNoviceParadise() {
    int arr = {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 = {'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) 新手乐园:

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


2) 模式输出:

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


3) 正方形矩阵:

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


4) 三角形矩阵:

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


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

球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}

liuhongrun2022 发表于 2023-10-19 21:45:50

这个是在问如何用C++语言实现输出这样的数组吗?下面是一些相关的代码实现:

第1种情况:
#include<iostream>
using namespace std;
int main() {
    int n = 6;
    int arr = {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;
}

以上代码会相应产生您想要的输出。希望能帮助到您!

1449620085 发表于 2023-10-20 09:07:14

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

第1种情况:

第4种运行的结果好像不一样?{:10_257:}
页: [1]
查看完整版本: c++ 利用数组输出