如何将C程序输出结果保存在一个文件里?
有这么一个程序我要将它的输出结果保存在E盘的filename.c文件中,下面的程序对吗?#include<stdio.h>
#include<math.h>
main()
{
FILE *fp;
double xa=0.0,xb=2.0,q=6.5,qq=0.0000028,d=0.000000002067,l=0.2,dti=0.0006,nn=61,d0=0.0007;
double s=0.0,h,x=xa,fa,fb,sum=0.0,kk,a0=0.0000012875,af=0.0000003848,aaa=0.000055064,de;
double f1[21],f2[21],ss[20],dh[20],u[20],k[20],qqq[20],z[10],aa[20],suma;
int i,j,n=20;
if((fp=fopen("e:\filename.c","w"))==NULL)
{printf("cannot open file\n");
exit(0);}
for(j=601;j<=700;j++)
{
x=xa;
q=j/100.0;
fa=1.0/(q*sqrt(2*3.1416))*exp(-(xa-1)*(xa-1)/(2*q*q));
fb=1.0/(q*sqrt(2*3.1416))*exp(-(xb-1)*(xb-1)/(2*q*q));
h=(xb-xa)/(2.0*n);
f1[0]=fa;
f2[0]=1.0/(q*sqrt(2*3.1416))*exp(-(x+h-1)*(x+h-1)/(2*q*q));
x=x+h;
s=0.0;
sum=0.0;
for(i=0;i<n;i++)
{
x=x+h;
f1[i+1]=1.0/(q*sqrt(2*3.1416))*exp(-(x-1)*(x-1)/(2*q*q));
x=x+h;
f2[i+1]=1.0/(q*sqrt(2*3.1416))*exp(-(x-1)*(x-1)/(2*q*q));
ss[i]=h/3.0*(f1[i]+f1[i+1]+4*f2[i]);
s=s+ss[i];
aa[i]=(xb-xa)/n*(i+1)*(a0-af)+af;
dh[i]=4*aa[i]/(3.1416*d0);
de=4*aaa/(3.1416*(0.01+nn*d0));
qqq[i]=qq*dh[i]*dh[i]*aa[i]/(aaa*de*de);
u[i]=qqq[i]/aa[i];
z[i]=u[i]*dti*dti/(d*l);
k[i]=1.62*pow(z[i],0.33)*d/dh[i];
sum=sum+ss[i]*qqq[i]*exp(-k[i]*aa[i]/qqq[i]);
}
suma=sum*nn;
ss[20]=h/3.0*(f1[19]+f1[20]+4*f2[19]);
s=s+ss[20];
kk=qq/aaa*log(qq/(sum*nn));
fprintf(fp,"q=%f,kk=%g,s=%g,suma=%g\n",q, kk,s,suma);
fclose(fp);
}
}
问题点数:0、回复次数:7Top
1 楼liuwen20030412()回复于 2004-04-04 00:37:31 得分 0
急啊!Top
2 楼nuaawenlin(飘人)回复于 2004-04-04 15:59:57 得分 0
没有问题
Top
3 楼wjjssnew(暗恋一个叫张文玲的女孩)回复于 2004-04-04 18:42:31 得分 0
看到眼花了:(
if((fp=fopen("e:\filename.c","w"))==NULL)
改成 if((fp=fopen("e:\\filename.c","w"))==NULL)Top
4 楼liuwen20030412()回复于 2004-04-04 18:53:36 得分 0
我试着改了一下
也不行啊!Top
5 楼wjjssnew(暗恋一个叫张文玲的女孩)回复于 2004-04-04 18:55:38 得分 0
还要+上
#include <stdlib.h> //exit(int)的声明
viod main()//无返回值Top
6 楼liuwen20030412()回复于 2004-04-08 19:29:45 得分 0
对
学习就这样!
我举双手同意!
Top
7 楼byf2002(调侃2002)回复于 2004-04-08 20:01:05 得分 0
为什么不直接对着书弄一个呢。
我记得老谭的《C语言程序设计》中就有啊。Top




