快速提问,但我找不到任何解决方案。基本上,下面的程序假设将每个整数从1-1000平方。但是当我打印它时,它会切断。我只能打印300行,然后将其剪掉。对于这个例子,代替第一行是1,如果它是j <301那么它是4,如果j <302那么它将是9。如何打印1000行是我的主要问题。
#include <stdio.h>
#include <math.h>
int main(void)
{
int j;
double k,sarr[1000];
for (j=0; j<301; j++)
{
k = pow(j,2);
sarr[j] = k;
printf("\n%lf",sarr[j]);
}
return(0);
}
答案 0 :(得分:3)
您的代码没有任何问题。我怀疑你的终端只将程序输出的最后300行保留在行缓冲区中。
尝试将输出重定向到文件(或将数字写入程序中的文件)。
答案 1 :(得分:1)
第一行应为1
(= 2^0
),因此您的输出会被截断。
您可以将for-loop更改为循环i = 0,...,999 - for (j=0; j<1001; j++)
并将输出重定向到文件,以便在您使用终端时查看整个输出。 / p>
执行命令
./program > filename
为了将程序的输出重定向到名为filename
的文件,该文件将保存在当前目录中。该文件应包含所有打印的数字。
此外,不需要阵列本身。只需使用double
类型的单个变量。