求!1+!2+!3+!4+!5 注:!5=1*2*3*4*5; 求用C语言编出来 我学到循环结构 求解 最好写些注释让我容易懂
展开全部
你说只学到循环,所以本程序中没有用自定义函数。用一个二重循环来描述合式中出现的一般项,而每次求一般项是,均需把k归1。
#include<stdio.h>
main()
{
int i,j,k,sum=0;
for(i=1;i<=5;i++)
{
k=1;
for(j=1;j<=i;j++)
k*=j; /*用k表示合式中的一般项,如:1!,2!
循环中i表示其中的1,2。而j是求阶乘的辅助变量*/
sum+=k; /*sum用来存放各项之和*/
}
printf("1!+2!+3!+4!+5!=%d\n",sum);
}
#include<stdio.h>
main()
{
int i,j,k,sum=0;
for(i=1;i<=5;i++)
{
k=1;
for(j=1;j<=i;j++)
k*=j; /*用k表示合式中的一般项,如:1!,2!
循环中i表示其中的1,2。而j是求阶乘的辅助变量*/
sum+=k; /*sum用来存放各项之和*/
}
printf("1!+2!+3!+4!+5!=%d\n",sum);
}
展开全部
#include<stdio.h>
int cal(int num)//计算!num
{
int result=1;
for(int i=1;i<=num;i++) //!num=1*2*3*..*(num)
result*=i;
return result;
}
int main()
{
int sum=0;
for(int i=1;i<=5;i++)
sum+=cal(i);
printf("%d\n",sum);
}
为了简单,只使用了循环。。
int cal(int num)//计算!num
{
int result=1;
for(int i=1;i<=num;i++) //!num=1*2*3*..*(num)
result*=i;
return result;
}
int main()
{
int sum=0;
for(int i=1;i<=5;i++)
sum+=cal(i);
printf("%d\n",sum);
}
为了简单,只使用了循环。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int sum=0;//记录求和
for(int i=1;i<=5;i++)//枚举1-5
{
int t=1;//记录阶乘
for(int j=1;j<=i;j++)//计算1-i的阶乘
t=t*i;阶乘
sum=sum+t;求和
}
for(int i=1;i<=5;i++)//枚举1-5
{
int t=1;//记录阶乘
for(int j=1;j<=i;j++)//计算1-i的阶乘
t=t*i;阶乘
sum=sum+t;求和
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个题目应该有这样的一个思路的!!首先必须要有两个变量,一个用来存累计和,一个用来存阶乘,即累积积!!求阶乘时可以利用函数递归调用,然后有了这个思路就应该好做啦!!
long power(int m)
{long f;
f=m*power(m-1);
return f;
}
main()
{int i,n,sum=0;
for(i=1;i<=5;i++)
sum+=power(i);
printf("%d",sum);
}
程序就是这样子的!!如果有点问题的话,你可以上机去调试,问题应该不是很大的!!
long power(int m)
{long f;
f=m*power(m-1);
return f;
}
main()
{int i,n,sum=0;
for(i=1;i<=5;i++)
sum+=power(i);
printf("%d",sum);
}
程序就是这样子的!!如果有点问题的话,你可以上机去调试,问题应该不是很大的!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询