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

C#如何读取多行空格分隔数字并按列存入对应数组?

按列读取多行数字并存储为整数数组

实现思路

  1. 读取用户输入的多行内容,直到输入空行终止
  2. 将每行的空格分隔字符串分割后转为整数,形成二维行列表
  3. 通过转置操作把行数据转换为列数据,对应到目标数组

Python 代码实现

# 读取多行输入,过滤空行
lines = [line.strip() for line in iter(input, '') if line.strip()]

# 把每行内容转成整数列表,存储为二维行数据
rows = []
for line in lines:
    num_list = list(map(int, line.split()))
    rows.append(num_list)

# 转置二维列表,得到按列划分的数组集合
cols = list(zip(*rows))

# 按要求格式输出各列数组
for idx, col in enumerate(cols, start=1):
    arr_name = f'arr {chr(ord("a") + idx - 1)}'
    print(f'{arr_name} = {list(col)}')

代码细节说明

  • iter(input, ''):持续读取用户输入,直到输入空行时停止读取
  • map(int, line.split()):将每行的空格分隔字符串逐个转为整数
  • zip(*rows):对二维行列表进行转置,把行数据转换为列数据,比如原[[184,272,...], [650,42,...]]会被转为[(184,650,...), (272,42,...)]
  • chr(ord("a") + idx -1):自动生成arr a、arr b这类依次命名的数组标识

测试输入输出示例

输入:
184 272 292 527
650 42 786 750
494 156 897 982
109 558 892 684
(回车后输入空行结束)

输出:
arr a = [184, 650, 494, 109]
arr b = [272, 42, 156, 558]
arr c = [292, 786, 897, 892]
arr d = [527, 750, 982, 684]

额外扩展

如果需要将各列数据存为独立的变量直接使用,可以添加如下代码:

arr_a, arr_b, arr_c, arr_d = cols
# 如需转为列表格式,可使用 list(arr_a) 进行转换

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 03:55:36