能用,只是%d会出现溢满情况,即所求数值大于d的范围。%22.15e 表示用十进制输出,其中22表示输出的实数位数,15表示位数部分小数位数。
int main()
{
float n,j=1,tn=1,s=0,i=1;
for(j=1;j<=20;s=s+tn)
{
for(i=1;i<=1;tn=tn*i) //这句i<=1,肯定是不对的。
i++;
j++;
}
printf("total is:%22.15e\n",s);
getch();
}
扩展资料:
C程序是由一组变量或是函数的外部对象组成的。 函数是一个自我包含的完成一定相关功能的执行代码段。
C程序中函数的数目实际上是不限的,如果说有什么限制的话,那就是,一个C程序中必须至少有一个函数,而且其中必须有一个并且仅有一个以main为名的函数,这个函数称为主函数,整个程序从这个主函数开始执行。
参考资料来源:百度百科-c语言
...输出时答案说是 %22.15e 为什么啊,那个22和15各代表什么意思呢...
for(i=1;i<=1;tn=tn*i) \/\/这句i<=1,肯定是不对的。i++;j++;} printf("total is:%22.15e\\n",s);getch();}
求1!+2!+3!+4!+5!...18!+19!+20!的C语言代码,我感觉我是对的呀,求问...
首先,用双精度变量保存总和,20的阶乘本身就是一个19位数,但是双精度变量,只能有17位有效数字,所以说最后的数字是被丢失了的,只能保证小数点位置正确(后面丢失的数据位补0)。其次,程序中的双重循环,其中内循环的循环变量和外循环的循环变量,用的是同一个变量a,这在内循环循环时就把外循环的...