急请教C语言高手

#include<stdio.h>voidmain(){inti,j;doublet,l;doubleu[300];scanf("%f",&t);l=t/0.5/0.01... # include <stdio.h>
void main ()
{
int i,j;
double t,l;
double u[300];
scanf("%f",&t);
l=t/0.5/0.01;
for(j=0;j<=299;j++)
{
if (j>=0&&j<100)
u[j]=0;
else if (j>=100 &&j<=200)
u[j]=1;
else u[j]=0;
}
for(i=1;i<=l;i++)
{
for(j=1;j<=298;j++)
{u[0]=0;u[299]=0;
u[j]=(0.5-t/0.01)*u[j+1]+(0.5+t/0.01)*u[j-1];
}
}
for(j=0;j<=299;j++)
printf("%f",u[j]);
}
请教高手帮我看一下我的程序为什么不执行循环呢
展开
 我来答
风起帆扬了
2012-04-17 · 超过21用户采纳过TA的回答
知道答主
回答量:104
采纳率:0%
帮助的人:25.9万
展开全部
for(i=1;i<=l;i++)只执行一次
u[j]=(0.5-t/0.01)*u[j+1]+(0.5+t/0.01)*u[j-1];
执行这条u[j]=0(全部)
追问
for(i=1;i<=l;i++)  是i<=小写的L,不是1,怎么只执行一次呢?谢谢,如果改的话该怎么改
追答
#include 
#include
void main ()
{
int i,j;
float t,l;
double u[30];
scanf("%f",&t);
//printf("%f",t);
l=t*100/0.5;
for(j=0;j=0&&j=10 &&j<=20)
u[j]=1;

else u[j]=0;
}

for(i=1;i<=l;i++)
{
for(j=1;j<=28;j++)
{
u[0]=0;
u[29]=0;
u[j]=(0.5-t/0.01)*u[j+1]+(0.5+t/0.01)*u[j-1];
// printf("%f",u[j]);
}
}

for(j=0;j<=29;j++)
printf("%f",u[j]);
}
double t,l;改成float t,l;我也不知道double t,l;为什么不行,你调试会发现double t,l;输入t之后,t与l的值是错的,所以没有执行第二个循环
dyyfl
2012-04-16 · TA获得超过2477个赞
知道小有建树答主
回答量:1432
采纳率:0%
帮助的人:873万
展开全部
你是不是没有在命令行给t输入值。
追问
输入了,要不然也不会出结果啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
科学有国界
2012-04-17 · TA获得超过208个赞
知道小有建树答主
回答量:184
采纳率:0%
帮助的人:54万
展开全部
输出时什么呢??
追问
输出的结果只是第一个for循环之后的结果,界面见图片。谢谢
追答
第二个涵数的意义是什么呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式