You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# 如何将多组输入字符串拆分为二维数组生成矩阵

实现用户输入转1索引二维矩阵的方案

核心实现逻辑

  • 先获取用户输入的矩阵行数、列数,确定二维数组的尺寸
  • 逐行读取用户输入的空格分隔数字串,转换为整数列表
  • 对数组索引做+1偏移,实现array[1,1]对应首个元素的访问规则
  • 增加输入校验逻辑,避免输入元素数量不匹配引发的错误

Python 实现代码

# 获取矩阵尺寸
row_cnt, col_cnt = map(int, input("请输入矩阵行数、列数(空格分隔):").split())

# 初始化1索引二维数组,第0行第0列留空
matrix = [[None] * (col_cnt + 1) for _ in range(row_cnt + 1)]

# 逐行读取输入内容
for row_idx in range(1, row_cnt + 1):
    while True:
        line_input = input(f"请输入第{row_idx}行的{col_cnt}个数字:")
        num_list = list(map(int, line_input.split()))
        if len(num_list) == col_cnt:
            for col_idx in range(1, col_cnt + 1):
                matrix[row_idx][col_idx] = num_list[col_idx - 1]
            break
        print(f"输入错误,请输入{col_cnt}个空格分隔的数字")

# 按要求格式输出验证
output_items = []
for i in range(1, row_cnt + 1):
    for j in range(1, col_cnt + 1):
        output_items.append(f"array[{i}, {j}] = {matrix[i][j]}")
print("、".join(output_items))

效果验证

你给出的示例输入,先输入3 4作为尺寸,再依次输入三行数字,输出结果完全符合要求:

array[1, 1] = 1、array[1, 2] = 4、array[1, 3] = 6、array[1, 4] = 4、array[2, 1] = 9、array[2, 2] = 8、array[2, 3] = 5、array[2, 4] = 2、array[3, 1] = 0、array[3, 2] = 3、array[3, 3] = 6、array[3, 4] = 1

其他语言实现通用逻辑

如果使用其他编程语言开发,逻辑完全一致:

  1. 读取行列数确定数组大小
  2. 逐行拆分输入字符串为数字集合
  3. 输出/访问时将索引值+1即可,不需要特意留空第0位也能满足输出要求

内容的提问来源于stack exchange,提问作者prolukikox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 21:54:08