【在线等】c语言程序:对n的阶乘求和,n=1到10
9个回答
展开全部
分析下程序,阶乘可以用递归做,也可以用循环做,这里就放上这两种代码了。
一.递归:
#include <stdio.h>
int f(int t)
{
if (t==1)
return 1;
else
return t*f(t-1);
}
int main()
{
printf("%d\n",f(10));
return 0;
}
程序分析:定义一个f函数,利用递归的特性,进行运算
10*f(9) = 10*9*f(8) …… 直到到1时返回1
得出结果:
二.循环:
#include <stdio.h>
int main()
{
int t1=1;
for(int i=10;i>=1;i--)
{
t1 = t1*i;
}
printf("%d", t1);
return 0;
}
程序分析:直接用一个for循环进行自减即可完成,定义t1用于存储结果
得出结果:
展开全部
#include<stdio.h>
int main()
{
int i,n,s=0,t=1;
printf("%s\n","请输入要阶乘求和的数");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
t=t*i;
s=s+t;
}
printf("%d的阶乘求和结果是%d\n",n,s);
return 0;
}
在输入界面输入10,按enter,得结果4037913
int main()
{
int i,n,s=0,t=1;
printf("%s\n","请输入要阶乘求和的数");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
t=t*i;
s=s+t;
}
printf("%d的阶乘求和结果是%d\n",n,s);
return 0;
}
在输入界面输入10,按enter,得结果4037913
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2018-02-23
展开全部
计算从1到10各数阶乘的和,即1! + 2! + 3! + …… + 9! + 10! 的和
#include<stdio.h>
int main(void)
{
int sum,i,term;
sum=0;
term=1;
for(i=1;i<=10;i++)
{
term=term*i;
sum=sum+term;
printf("%d的阶乘 %d\n",i,term);
}
printf("1到10各数阶乘的和 %d\n",sum);
return 0;
}
#include<stdio.h>
int main(void)
{
int sum,i,term;
sum=0;
term=1;
for(i=1;i<=10;i++)
{
term=term*i;
sum=sum+term;
printf("%d的阶乘 %d\n",i,term);
}
printf("1到10各数阶乘的和 %d\n",sum);
return 0;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<iostream>
int main()
{
using namespace std;
int n,factorial;
int Sum=0;
cout<<"请输入要求得整数:";
cin>>n;
for(int i=1;i<=n;i++)
{
factorial=1;
for(int j=1;j<=i;j++)
{
factorial=factorial*j;
}
Sum=Sum+factorial;
}
cout<<"结果是:"<<Sum;
getchar; //显示屏幕停止,不闪退
getchar;
return 0;
}
int main()
{
using namespace std;
int n,factorial;
int Sum=0;
cout<<"请输入要求得整数:";
cin>>n;
for(int i=1;i<=n;i++)
{
factorial=1;
for(int j=1;j<=i;j++)
{
factorial=factorial*j;
}
Sum=Sum+factorial;
}
cout<<"结果是:"<<Sum;
getchar; //显示屏幕停止,不闪退
getchar;
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询