gpt4 book ai didi

c - 如何在 C 中解析单行输入中的三元组

转载 作者:行者123 更新时间:2023-11-30 19:04:55 25 4
gpt4 key购买 nike

我正在做一项作业,我得到这样的输入:

(x y z)

其中xyz是整数,我们称其为三元组。

我需要获得很多这些,但只能在一行中获得。输入应该是这样的:

1 2 3 3 2 1 3 1 3 4 2 1 8 2 1

我需要将这个输入转换为三元组,例如 (1, 2, 3) (3, 2, 1), (3, 1, 3) 等等。

我的问题是,如何读取整个(未定义大小)行数字并存储它们?

最佳答案

如果您从标准输入获取输入,您可以使用 scanf 来完成此操作,以下应该是一个好的开始,您应该添加更多验证来完成代码:

#include <stdio.h>

int main(void)
{
int x,y,z;

while(scanf("%d %d %d ",&x,&y,&z)==3) {
printf("[%d, %d, %d]\n",x,y,z);
}
}

将 test.txt 与您提供的值一起使用,将它们分成多行也可以,只要它们以 3 为一组并用空格分隔即可:

cat > test.txt << EOF
1 2 3 3 2 1 3 1 3 4 2 1 8 2 1
EOF

运行示例:

./a.out < test.txt
[1, 2, 3]
[3, 2, 1]
[3, 1, 3]
[4, 2, 1]
[8, 2, 1]

关于c - 如何在 C 中解析单行输入中的三元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50916629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com