| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 452 人关注过本帖
标题:[求助]刚写的一个程序不能运行
只看楼主 加入收藏
sharelion
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-4-7
收藏
 问题点数:0 回复次数:2 
[求助]刚写的一个程序不能运行
/*污染物在一维河流中扩散的简单数值仿真C程序*/
#include "stdio.h"
#include "math.h"
#define c1 0 /*河流中原污染物浓度*/
#define c2 1000 /*排污口污染物浓度*/
#define c0 500 /*c0=(c1*q1+c2*q2)/(q1+q2)污染物混合后浓度*/
#define q1 5000.0 /*河流原流量*/
#define q2 5000.0 /*排污口流量*/
#define Ex 20.0 /*纵向离散系数*/
#define u 10.0 /*河流平均流速*/
#define dt 0.5 /*时间间隔*/
#define dx 10.0 /*单位河流长度*/
#define L 10000.0 /*均匀河流总长度*/
#define T 1600.0 /*所研究时间的总长*/
int main(int argc, char *argv[])
{
double x,y,z;
x=Ex*dt/(dx*dx)-u*dt/(2*dx);
y=1.00-2*Ex*dt/(dx*dx);
z=Ex*dt/(dx*dx)-u*dt/dx;
if(u*dt/dx>1||Ex*dt/(dx*dx)>0.5)
printf("您的定义有误\n");
FILE *fp1;
if((fp1=fopen("sharelion.dat","w+"))==NULL)
{
printf("不能找到file.--sharelion.dat\n");
exit(0);
}
int i,j;
double a[1001],b[1001];
a[0]=c0;
for(i=1;i<L/dx;i++)
a[i]=c1;
for(j=1;j<T/dt;j++)
{for(i=0;i<L/dx;i++)
if(i==0)
b[i]=a[0];
else b[i]=x*a[i-1]+y*a[i]+z*[i+1];
for(i=0;i<L/dx;i++)
{
a[i]=b[i];
fprintf(fp1,"%lf\t",a[i];
}
fprintf(fp1,"\n");
printf("已运算%ld次,共%ld 次",i*j,L/dx*(T/dt));
}
fclose(fp1);
return 0;
}
T2B6iXLJ.rar (165.95 KB) [求助]刚写的一个程序不能运行


搜索更多相关主题的帖子: 运行 
2006-05-07 00:09
sharelion
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-4-7
收藏
得分:0 
自己顶一个~~~
2006-05-07 17:53
lj_860603
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:714
专家分:0
注 册:2006-1-25
收藏
得分:0 
以下是引用sharelion在2006-5-7 0:09:00的发言:
/*污染物在一维河流中扩散的简单数值仿真C程序*/
#include "stdio.h"
#include "math.h"
#define c1 0 /*河流中原污染物浓度*/
#define c2 1000 /*排污口污染物浓度*/
#define c0 500 /*c0=(c1*q1+c2*q2)/(q1+q2)污染物混合后浓度*/
#define q1 5000.0 /*河流原流量*/
#define q2 5000.0 /*排污口流量*/
#define Ex 20.0 /*纵向离散系数*/
#define u 10.0 /*河流平均流速*/
#define dt 0.5 /*时间间隔*/
#define dx 10.0 /*单位河流长度*/
#define L 10000.0 /*均匀河流总长度*/
#define T 1600.0 /*所研究时间的总长*/
int main(int argc, char *argv[])
{
double x,y,z;
x=Ex*dt/(dx*dx)-u*dt/(2*dx);
y=1.00-2*Ex*dt/(dx*dx);
z=Ex*dt/(dx*dx)-u*dt/dx;
if(u*dt/dx>1||Ex*dt/(dx*dx)>0.5)
printf("您的定义有误\n");
FILE *fp1;
if((fp1=fopen("sharelion.dat","w+"))==NULL)
{
printf("不能找到file.--sharelion.dat\n");
exit(0);
}
int i,j;
double a[1001],b[1001];
a[0]=c0;
for(i=1;i<L/dx;i++)
a[i]=c1;
for(j=1;j<T/dt;j++)
{for(i=0;i<L/dx;i++)
if(i==0)
b[i]=a[0];
else b[i]=x*a[i-1]+y*a[i]+z*a[i+1];
for(i=0;i<L/dx;i++)
{
a[i]=b[i];
fprintf(fp1,"%lf\t",a[i]);
}
fprintf(fp1,"\n");
printf("已运算%ld次,共%ld 次",i*j,L/dx*(T/dt));
}
fclose(fp1);
return 0;
}
[attach]6767[/attach]

//死循环,估计循环判断条件没写好.


我的原则很简单:不做不喜欢的事!
2006-05-07 19:43
快速回复:[求助]刚写的一个程序不能运行
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017104 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved