酷代码 AI
菜单
服务商
DeepSeek字节豆包
更多选项

小行星矩阵生成:n行m列最右列用#填充的编程实现

我来帮你编写这个程序。这是一个生成特定格式矩阵的简单问题。 ## 🚀 问题分析 我们需要生成一个n行m列的矩阵,其中: - 最右边一列(第m列)全部由```#```组成 - 其他位置(第1到m-1列)使用```*```填充 ## 💻 代码实现 ### Python版本 ```python def generate_matrix(n, m): """ 生成n行m列的小行星矩阵 :param n: 行数 :param m: 列数 """ for i in range(n): row = [] for j in range(m): if j == m - 1: # 最右边一列 row.append('#') else: row.append('*') print(' '.join(row)) # 使用示例 n = int(input("请输入行数n: ")) m = int(input("请输入列数m: ")) generate_matrix(n, m) ``` ### Java版本 ```java import java.util.Scanner; public class AsteroidMatrix { public static void generateMatrix(int n, int m) { for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (j == m - 1) { // 最右边一列 System.out.print("#"); } else { System.out.print("*"); } if (j < m - 1) { System.out.print(" "); } } System.out.println(); } } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入行数n: "); int n = scanner.nextInt(); System.out.print("请输入列数m: "); int m = scanner.nextInt(); generateMatrix(n, m); scanner.close(); } } ``` ### C语言版本 ```c #include <stdio.h> void generateMatrix(int n, int m) { for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (j == m - 1) { // 最右边一列 printf("#"); } else { printf("*"); } if (j < m - 1) { printf(" "); } } printf("\n"); } } int main() { int n, m; printf("请输入行数n: "); scanf("%d", &n); printf("请输入列数m: "); scanf("%d", &m); generateMatrix(n, m); return 0; } ``` ## 📋 运行示例 当输入n=4, m=6时,输出结果: ``` * * * * * # * * * * * # * * * * * # * * * * * # ``` ## ⭐ 关键要点 - 通过判断列索引`j == m - 1`来确定最右边一列 - 使用嵌套循环:外层控制行,内层控制列 - 元素之间用空格分隔,每行末尾自动换行 ######[AI问答 | 715点数解答 | 2026-06-13 21:08:36]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]