
急请教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]);
}
请教高手帮我看一下我的程序为什么不执行循环呢 展开
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]);
}
请教高手帮我看一下我的程序为什么不执行循环呢 展开
展开全部
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(全部)
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的值是错的,所以没有执行第二个循环
展开全部
你是不是没有在命令行给t输入值。
追问
输入了,要不然也不会出结果啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
输出时什么呢??
追问
输出的结果只是第一个for循环之后的结果,界面见图片。谢谢
追答
第二个涵数的意义是什么呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询