昨天我太累了,無法發佈正確和具體的問題。所以那裏是:如何將數據導出爲GNUplot可讀的.txt
if (t==2){
printf ("abc\n");
printf ("abc = "); scanf ("%f",&r);
printf ("abc = "); scanf ("%d",&n);
printf ("abc = "); scanf ("%d",&k);
a=2*r;
b=2*r;
c=2*r;
for (i=0;i<=n;i++){
float x=(float)rand()/((float)RAND_MAX/a);
float y=(float)rand()/((float)RAND_MAX/b);
float z=(float)rand()/((float)RAND_MAX/c);
if ((x-(r))*(x-(r))+(y-(r))*(y-(r))+(z-(r))*(z-(r))<=(r*r))
m++;
if (i % k ==0 && i > 0){
freopen ("data.txt","w", stdout);
printf("%s %s %s \n","#","n","Vka");
Vka = (2*r*2*r*2*r)*m/i;
printf("% 6.2f % 6.2f \n",n,Vka);
fclose (stdout);
}
}
Vk=(2*r*2*r*2*r)*m/n;
printf ("abc =%d\n", m);
printf ("abc=%d\n", n);
printf("abc =%f", Vk);
}
不幸的是,程序不工作,因爲我希望它的工作。它應該將數據導出到文件「data.txt中」,但該文件仍然是這樣的:
# n Vka
0.00 0.00
Morover程序剛剛創建此文件後完成操作,同時我希望它在完成打印其操作Vk在終端。
不要重新打開'stdout'!相反,打開一個新文件,並使用'fprintf'打印。另外,當您在循環中打開文件時,您_overwrite_現有的文件。此外,你在一個格式字符串中的百分比和格式規範之間有空格,這不會起作用。 –