c语言中 编程序 1!+2!+3!+.....+20! 输出时答案说是 %22.15e 为什么啊,那个22和15各代表什么意思呢?

为什么不能用%d呢?谢谢!
2024-11-28 01:47:14
推荐回答(5个)
回答1:

能用,只是%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语言

回答2:

能用,只是%d会出现溢满情况,即所求数值大于d的范围。%22.15e 表示用十进制输出,其中22表示输出的实数位数,15表示位数部分小数位数

回答3:

%22.15e用10的n次方输出,%d的范围太小,只能输出3万左右,而20!这个数太大,超过20位数。

回答4:

%d的范围是-32768到32767之间,你的上面的式子超出了这个范围,系统就会给你随机输出一个答案
可以用长整型 long int

回答5:

输出占22列,但只取字符串中左端15个字符,