急请教C语言高手
答案:3 悬赏:10 手机版
解决时间 2021-11-07 23:45
- 提问者网友:原来太熟悉了会陌生
- 2021-11-07 14:18
急请教C语言高手
最佳答案
- 五星知识达人网友:一秋
- 2021-11-07 15:12
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<=29;j++)
{
if(j>=0&&j<10)
u[j]=0;
else if(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的值是错的,所以没有执行第二个循环
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<=29;j++)
{
if(j>=0&&j<10)
u[j]=0;
else if(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的值是错的,所以没有执行第二个循环
全部回答
- 1楼网友:往事隔山水
- 2021-11-07 16:50
输出时什么呢??追问输出的结果只是第一个for循环之后的结果,界面见图片。谢谢追答第二个涵数的意义是什么呢?
- 2楼网友:酒者煙囻
- 2021-11-07 16:13
你是不是没有在命令行给t输入值。追问输入了,要不然也不会出结果啊
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯