gpt4 book ai didi

c - 逐行读取多个数组的输入,而不知道要给出的输入数量

转载 作者:行者123 更新时间:2023-11-30 14:51:33 25 4
gpt4 key购买 nike

我得到了 3 个数组,每个数组的输入都在一行中给出,每个元素之间有空格。

输入示例:

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

所以我想做的是将第一行的所有元素分配给数组1,第二行的所有元素分配给数组2,第三行的所有元素分配给数组3。

#include <stdio.h>
int main()
{
int a[20],b[20],c[20],d[3];
int k=0;
char temp;
do{
scanf("%d%c", &a[k], &temp);
k++;
} while(temp != '\n');
d[0]=k;
k=0;
do{
scanf("%d%c", &b[k], &temp);
k++;
} while(temp != '\n');
d[1]=k;
k=0;
do{
scanf("%d%c", &c[k], &temp);
k++;
} while(temp != '\n');
d[2]=k;
return 0;
}

这是我尝试过的,但是这段代码将所有元素保存在第一个数组本身中。有什么帮助吗?

最佳答案

我刚刚尝试了你的代码,它工作正常 - a、b、c 填充了通过 stdin 输入的数字。

但是,您的主要问题是 scanf 不是面向行的。您应该使用 fgets 读取字符串中的行,并使用 strtoksscanf 对其进行解析。

关于c - 逐行读取多个数组的输入,而不知道要给出的输入数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48209659/

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