鱼C论坛

 找回密码
 立即注册
查看: 814|回复: 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++语言的示例代码:

  1. #include <iostream>

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

  5.     // 第一个输出
  6.     for (int i = 0; i < n; i++) {
  7.         for (int j = i; j < i + n; j++) {
  8.             std::cout << (j % n) + 1 << " ";
  9.         }
  10.         std::cout << std::endl;
  11.     }

  12.     std::cout << std::endl;

  13.     // 第二个输出
  14.     for (int i = 0; i < n; i++) {
  15.         for (int j = i; j < i + n; j++) {
  16.             std::cout << arr[(j % n)] << " ";
  17.         }
  18.         std::cout << std::endl;
  19.     }

  20.     return 0;
  21. }
复制代码


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

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

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

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

使用道具 举报

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

  1. #include <iostream>

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

  5.     // 第一个输出
  6.     for (int i = 0; i < n; i++) {
  7.         for (int j = i; j < i + n; j++) {
  8.             std::cout << (j % n) + 1 << " ";
  9.         }
  10.         std::cout << std::endl;
  11.     }

  12.     std::cout << std::endl;

  13.     // 第二个输出
  14.     for (int i = 0; i < n; i++) {
  15.         for (int j = i; j < i + n; j++) {
  16.             std::cout << arr[(j % n)] << " ";
  17.         }
  18.         std::cout << std::endl;
  19.     }

  20.     return 0;
  21. }
复制代码


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

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

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

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

使用道具 举报

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

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

下面是示例代码和结果:
  1. #include <iostream>
  2. using namespace std;
  3. // 1) 输出新手乐园
  4. void printNoviceParadise() {
  5.     int arr[6] = {1, 2, 3, 4, 5, 6};
  6.     for (int i = 0; i < 6; i++) {
  7.         for (int j = 0; j < 6; j++) {
  8.             cout << arr[(i+j)%6] << " ";
  9.         }
  10.         cout << endl;
  11.     }
  12. }
  13. // 2) 输出特定模式的数字或字母
  14. void printPattern() {
  15.     char arr[6] = {'A', 'B', 'C', 'D', 'E', 'F'};
  16.     for (int i = 0; i < 6; i++) {
  17.         for (int j = 0; j < 6; j++) {
  18.             cout << arr[(i+j)%6] << " ";
  19.         }
  20.         cout << endl;
  21.     }
  22. }
  23. // 3) 输出正方形矩阵
  24. void printSquareMatrix(int n) {
  25.     for (int i = 0; i < n; i++) {
  26.         for (int j = 0; j < n; j++) {
  27.             if (i >= j) {
  28.                 cout << i-j << " ";
  29.             } else {
  30.                 cout << j-i << " ";
  31.             }
  32.         }
  33.         cout << endl;
  34.     }
  35. }
  36. // 4) 输出三角形矩阵
  37. void printTriangleMatrix(int n) {
  38.     for (int i = 0; i < n; i++) {
  39.         for (int j = 0; j <= i; j++) {
  40.             cout << j << " ";
  41.         }
  42.         for (int j = i-1; j >= 0; j--) {
  43.             cout << j << " ";
  44.         }
  45.         cout << endl;
  46.     }
  47. }
  48. int main() {
  49.     cout << "1) 新手乐园:" << endl;
  50.     printNoviceParadise();
  51.    
  52.     cout << "\n2) 模式输出:" << endl;
  53.     printPattern();
  54.    
  55.     cout << "\n3) 正方形矩阵:" << endl;
  56.     printSquareMatrix(6);
  57.    
  58.     cout << "\n4) 三角形矩阵:" << endl;
  59.     printTriangleMatrix(6);
  60.     return 0;
  61. }
复制代码

输出结果:

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种情况:
  1. #include<iostream>
  2. using namespace std;
  3. int main() {
  4.     int n = 6;
  5.     int arr[n] = {1, 2, 3, 4, 5, 6};
  6.     for (int i = 0; i < n; i++) {
  7.         for (int j = 0; j < n; j++) {
  8.             cout << arr[(i+j) % n] << ' ';
  9.         }
  10.         cout << endl;
  11.     }
  12.     return 0;
  13. }
复制代码


第2种情况:
  1. #include<iostream>
  2. using namespace std;
  3. int main() {
  4.     int n = 6;
  5.     for (int i = 0; i < n; i++) {
  6.         for (int j = 1; j <= n; j++) {
  7.             cout << (i+j) % n << ' ';
  8.         }
  9.         cout << endl;
  10.     }
  11.     return 0;
  12. }
复制代码


第3种情况:
  1. #include<iostream>
  2. using namespace std;
  3. int main() {
  4.     int n = 6;
  5.     for (int i = 1; i <= n; i++) {
  6.         for (int j = 1; j <= n; j++) {
  7.             cout << abs(j - i) + 1 << " ";
  8.         }
  9.         cout << endl;
  10.     }
  11.     return 0;
  12. }
复制代码


第4种情况:
  1. #include<iostream>
  2. using namespace std;
  3. int main() {
  4.     for (char i = 'A'; i <= 'F'; i++) {
  5.         for (int j = 0; j < 6; j++) {
  6.             char ch = i + j * 3;
  7.             cout << ch << " ";
  8.         }
  9.         cout << endl;
  10.     }
  11.     return 0;
  12. }
复制代码

以上代码会相应产生您想要的输出。希望能帮助到您!
想知道小甲鱼最近在做啥?请访问 -> 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-5-20 13:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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