新人求指教 为什么C语言输出全为0啊 T.T

qq_36803015 2016-11-23 09:11:55
程序如下,输出全为0,各位大神求指教
程序不报错,可运行,输出的TXT文件内容全为0

#include <stdio.h>
#include <math.h>
#define pi 3.14159265
#define wv(k) sin(pi*(k*dt/(g*dt))*360/180)
double u[200][100]={0};
double w[200][100]={0};
void main()
{
FILE *p;
p=fopen("huang.txt","w");


int a,b,h,t;
a=200;
b=300;
h=50;
t=2*h/a;
/*grid space*/
/*
dx=1;%m
XM=200;%m
dy=1;%m
YM=100;%m*/


/*wavelet*/
int f=50;
double dt;
/*T=1/f=0.02*/
dt=0.0001;
int g;
/*g=T/dt*/
g=200;
int wfxi,wfyi,j,k,m,n;

/*source position*/
int sx,sy;
sy=0;
sx=100;

/*wave field 1*/
double t1,d,x[200],y[50];
int ix[200],iy[50],i;
for (k=0;k<100;k++)
{
t1=t*double(k)/100;
d=t1*a;
for(i=int(sx-d);i<=sx+d;i++)
{
x[i]=double(i);
ix[i]=int(x[i]);
y[i]=double(sqrt(d*d-(i-sx)*(i-sx)));
iy[i]=int(y[i]);

}

for (i=0;i<(2*d);i++)
{
wfxi=ix[i];
wfyi=iy[i];
for (j=0;j<4;j++)
{
if ((wfyi-j+1)>=1)
u[wfxi][wfyi-j+1]=double(wv(j));
}

}
for (i=0;i<200;i=i++)
{
w[i][k]=u[i][0];
}


}
//wave field 2
double t2,d2;

for (k=50;k<100;k++)

{

t2=t/2+t*double(k)/100;
d2=(t2-t/2)*a;
for(i=int(sx-d);i<=(sx+d);i++)
{
x[i]=double(i);
ix[i]=int(x[i]);
y[i]=double(h-sqrt(d2*d2-(i-sx)*(i-sx)));
iy[i]=int(y[i]);
}
for (i=0;i<(2*d2);i++)
{
wfxi=ix[i];
wfyi=iy[i];
for (j=0;j<4;j++)
{
if ((wfyi-j+1)>=1)
u[wfxi][wfyi-j+1]=-double(wv(j));

}
}
for (i=0;i<200;i=i++)
{
w[i][k]=u[i][0];
}
}
for(m=0;m<100;m++)
{
for(n=0;n<200;n++)
{
fprintf(p,"%f ",w[n][m]);
}
fprintf(p,"\n");
}

fclose(p);


}
...全文
516 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
paschen 2016-11-24
  • 打赏
  • 举报
回复
建议在必要位置设置断点,然后单步跟踪程序运行,观察每一步结果是否与你期望的一致,分析原因
小灸舞 2016-11-24
  • 打赏
  • 举报
回复
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。 提醒:再牛×的老师也无法代替学生自己领悟和上厕所! 单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
mingloee 2016-11-24
  • 打赏
  • 举报
回复
单步调试一下呗,一步一步运行看问题在哪里。
akiyamaryou 2016-11-24
  • 打赏
  • 举报
回复
打一遍注释吧朋友,相当于检查一遍逻辑。你把代码这么扔上来,变量还都是意义不明的字母,估计也没几个人有时间一行一行分析你的逻辑。

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧