从C中的标准输入读取未知数量的值
我需要读取如下输入文件:从C中的标准输入读取未知数量的值,c,input,C,Input,我需要读取如下输入文件: 0.142857 0.714286 0.642857 0.714286 0.285714 0.500000 0.500000 0.500000 0.785714 0.428571 0.357143 0.357143 0.714286 0.214286 0.928571 0.071429 每条线对应于平面上的一个点,点的数目未知 输入来自标准输入 有什么想法吗?读取每一对并将其添加到链接列表中,直到您获得输入中的所有对为止?读取每一对并将其添加到链接列表中,
0.142857 0.714286
0.642857 0.714286
0.285714 0.500000
0.500000 0.500000
0.785714 0.428571
0.357143 0.357143
0.714286 0.214286
0.928571 0.071429
每条线对应于平面上的一个点,点的数目未知
输入来自标准输入
有什么想法吗?读取每一对并将其添加到链接列表中,直到您获得输入中的所有对为止?读取每一对并将其添加到链接列表中,直到您获得输入中的所有对为止?
scanf
返回收到的参数数量。你可以测试以确保你得到了你想要的
例如:
#include <stdio.h>
// ...
double f1, f2;
while(scanf("%lf %lf", &f1, &f2) == 2)
{
// store f1 and f2 somewhere
}
#包括
// ...
双f1,f2;
而(扫描频率(“%lf%lf”、&f1和&f2)==2)
{
//将f1和f2存储在某个位置
}
scanf
返回接收的参数数量。你可以测试以确保你得到了你想要的
例如:
#include <stdio.h>
// ...
double f1, f2;
while(scanf("%lf %lf", &f1, &f2) == 2)
{
// store f1 and f2 somewhere
}
#包括
// ...
双f1,f2;
而(扫描频率(“%lf%lf”、&f1和&f2)==2)
{
//将f1和f2存储在某个位置
}
如果您足够信任输入,请使用scanf()
验证返回值,以确保已读取一对,测试EOF,并且已全部设置
double x, y;
while (scanf("%lf%lf", &x, &y) == 2) {
/* deal with (x, y) */
}
if (!feof(stdin)) /* input error */;
未测试
如果您不信任输入,请使用
fgets()
并“手动”分析每一行如果您足够信任输入,请使用scanf()
验证返回值,以确保已读取一对,测试EOF,并且已全部设置
double x, y;
while (scanf("%lf%lf", &x, &y) == 2) {
/* deal with (x, y) */
}
if (!feof(stdin)) /* input error */;
未测试
如果您不信任输入,请使用
fgets()
并“手动”分析每一行。如果这是作业,请按此标记。如果这是作业,请按此标记。