用whlie或do while循环求1-20的阶层,不能嵌套
来源:百度知道 编辑:UC知道 时间:2024/07/08 01:36:56
题目是s=1+2!+3!+4!+5!....n!(n<20),不要太复杂了,谢谢啦各位。前一位的程序是错的啊!
不好意思 刚刚写的有点错误,改了下,现在好了,谢谢那位的提醒~~我刚没有注意,不好意思,呵呵,晕,我还当就求个20的阶乘呢,这回好了,改好了又
#include <stdio.h>
#define N 20 //1+2!+3!+4!+5!....N!自己定义N
int main()
{
int i=1;
long double sum=0;
long double ret=1;
while(i<=N)
{
ret*=i;
sum+=ret;
i++;
}
printf("Result is %.0lf",sum);
printf("\n");
return 0;
}
好复杂……要考虑到数字的大小
本人TC,算到16!=2004189184
17!=-288522240
的阶乘就已经超出范围(long)
所以说,还是要注意一下……
vc6.0也是一样