我必须读取给定数量的行,并且重要的是不要使用数组,在读取一行之后,我还需要将每个输入保存在变量中(最多15个输入)。使用数组很容易,但是我不允许在我的代码中使用它!谢谢
答案 0 :(得分:0)
您可以将它们读入列表。这是这种方法的大致片段。
#include <stdio.h>
typedef struct TNumber
{
int num;
struct TNumber * nxt;
}
Number;
int main()
{
const int MAX = 15;
Number * numbers = 0;
//populate numbers list
Number * nptr = 0;
int input, n =0 ;
while (n < MAX && fscanf(stdin, "%d", &input) > 0)
{
Number * new = (Number*)malloc(sizeof(Number));
new->num = input;
new->nxt = 0;
if (numbers == 0)
numbers = nptr = new;
else
{
nptr->nxt = new;
nptr = new;
}
n++;
}
//Output the numbers to check the list
nptr = numbers;
while (nptr)
{
printf("%d ", nptr->num);
nptr = nptr->nxt;
}
}