2个回答
展开全部
其实用递归算更简单,再给你一个吧
#include <stdio.h>
//由于标准math.h中没有求阶乘函数,所以自己写一个吧
int jiecheng(int n)
{
if(n<=1) return n;//控制递归跳出
if(n!=1)
n*=jiecheng(n-1);//递归
return n;
}
int main()
{
int n,sum=0;
printf("请输入一个整数");
scanf("%d",&n);
for(int i=1;i<=n;i++)
sum+=jiecheng(i);
printf("%d\n",sum);
return 0;
}
#include <stdio.h>
//由于标准math.h中没有求阶乘函数,所以自己写一个吧
int jiecheng(int n)
{
if(n<=1) return n;//控制递归跳出
if(n!=1)
n*=jiecheng(n-1);//递归
return n;
}
int main()
{
int n,sum=0;
printf("请输入一个整数");
scanf("%d",&n);
for(int i=1;i<=n;i++)
sum+=jiecheng(i);
printf("%d\n",sum);
return 0;
}
展开全部
#include <stdio.h>
int main(void)
{
int n;
int result = 0;
int i, j;
int temp = 1;
int flag;
printf("please input n:\n");
scanf("%d", &n);
for (i = 1; i < (n + 1); i++) {
temp = 1;
for (j = 1; j < (i + 1); j++) {
temp *= j;
}
if (i % 2 == 1)
flag = 1;
else
flag = -1;
result += (flag * temp);
}
printf("The result is %d\n", result);
return (0);
}
int main(void)
{
int n;
int result = 0;
int i, j;
int temp = 1;
int flag;
printf("please input n:\n");
scanf("%d", &n);
for (i = 1; i < (n + 1); i++) {
temp = 1;
for (j = 1; j < (i + 1); j++) {
temp *= j;
}
if (i % 2 == 1)
flag = 1;
else
flag = -1;
result += (flag * temp);
}
printf("The result is %d\n", result);
return (0);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询