这个程序哪里错?

来源:百度知道 编辑:UC知道 时间:2024/06/30 17:25:30
# include<stdio.h>
main()
{
long double t;
int i,n;
t=2;
i=1;
scanf("%d",&n);
while(i<=n)
{
t=t*i;
i++;
}
printf("\nt=%ldd\n",t);

}可以运行但结果都是0

long double类型的数应该用%Lf格式输出:

printf("\nt=%Lf\n",t);

# include<stdio.h>
main()
{
double t;
int i,n;
t=2;
i=1;
scanf("%d",&n);
while(i<=n)
{
t=t*i;
i++;
}
printf("\nt=%e\n",t);

}

我看你还是改得好一点吧,我怎么看不懂呢?没见double前加long的吧.t用%ldd输出是什么意思.

printf("%ld",t);