编程求1!+2!+3!+……+N!(用while)
程序如下,仅供参考
#include <stdio.h>
int main(void) {
int N, i;
int n, tmp, sum = 0;
printf("Please input a integer: ");
scanf("%d", &N);
i = N;
while (i > 0) {
n = i--;
tmp = 1;
while (n >= 0) { // 计算阶乘
if (n == 0) {
tmp = tmp;
} else {
tmp *= n;
}
n--;
}
sum += tmp; // 计算阶乘的和
}
printf("1!+2!+...+%d! = %d", N, sum);
system("pause");
return 0;
} // 至此结束
【认真回答,呈请采纳】
#include <stdio.h>
int fun(int n) {
int i = 0,j;
int fact;
int sum = 0;
while (++i <= n) {
j = 1;
fact = 1;
while (++j <= i) {
fact *= j;
}
sum += fact;
}
return sum;
}
int main() {
printf("%d\n", fun(10));
}
完整代码,放入编译器运行看结果,调用处可改变传入值,不懂的地方,留言于我
int num = 0 ;
while (i <= 4) {
int j = 1 ;
int temp = 1 ;
if(i > 0) {
while (j <= i) {
temp = temp * j ;
j++ ;
}
}
num = num + temp ;
i++ ;
}
外面的while循环中的i <= 4中的4表示N,你也可以传参数。