编写函数求3!+6!+9!+12!+15!+18!+21!。(c语言)

 我来答
路尧家的顾小言
2019-09-11 · TA获得超过9397个赞
知道答主
回答量:336
采纳率:100%
帮助的人:5万
展开全部

这道题是求从3-21,差为3的8个数阶乘的和,编写一个求阶乘之和的函数sum(),使用for循环进行阶乘的计算,最终和太大,因此使用科学计数方式表示输出。

程序代码:

#include<stdio.h>

float sum(int n)

{int i,j;

float t,s=0;

for(i=3;i<=n;i=i+3)

{t=1;

for(j=1;j<=i;j++)

t=t*j;

s=s+t;}

return(s);

}

main()

{printf("this sum=%e\n",sum(21));}

运行结果:

扩展资料:

阶乘的计算方法:

一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。1808年,基斯顿·卡曼引进这个表示法。

亦即n!=1×2×3×...×n。阶乘亦可以递归方式定义:0!=1,n!=(n-1)!×n。

百度网友ed9607ada
2011-06-24 · 超过27用户采纳过TA的回答
知道答主
回答量:108
采纳率:0%
帮助的人:0
展开全部
//VC 6.0下编译运行通过,望尽快采纳。
#include <stdio.h>
#include <string.h>
int Calculate(int aiArray[],int iLen);
int main()
{
int aiArray[] = {3,6,9,12,15,18,21};
int iLen = 0;
int iResult = 0;

iLen = sizeof(aiArray);
iResult = Calculate(aiArray,iLen);
printf("%d", iResult);

return 0;
}
int Calculate(int aiArray[],int iLen)
{
int iResult = 0;
int iTemp = 1;
for (int iLoop1 = 0; iLoop1 < iLen/sizeof(int); iLoop1++)//遍历数组
{
for (int iLoop2 = 1;iLoop2 <=aiArray[iLoop1]; iLoop2++)//挨个求阶
{
iTemp *= iLoop2;
}
iResult += iTemp;//结果累加
iTemp = 1;//清空数组
}
return iResult;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
江月此清秋3415
2011-06-24 · TA获得超过1710个赞
知道大有可为答主
回答量:3485
采纳率:0%
帮助的人:1771万
展开全部
这个也太简单了吧?
int main()
{
int n = 0;//求几的阶乘就是几
double result = 0.0;//存储结果
int i= 0;
printf("请输入要求的数值\n");
scanf("%d",&n);
result = jiecheng(n);
printf("%10.0f\n", result);
}
//阶乘函数----递归
double jiecheng(int n)
{
if (0 == n)
return 1;
else if( 1 == n)
return 1;
else
return n*(jiecheng(n-1)
)
};
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ch565097933
2011-06-24 · TA获得超过1044个赞
知道小有建树答主
回答量:825
采纳率:0%
帮助的人:512万
展开全部
static int Getreslut(n)
{
int sum=0;
for(int i=3;i<=n;i++){
if(i%3==0){
int mul=1;
for(int j=1;j<=i;j++){
mul=mul*j;
}
sum+=mul;
}
}
return sum;
}

//调用使用Getreslut(21)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lishunfen86121
2011-06-24 · TA获得超过143个赞
知道答主
回答量:141
采纳率:0%
帮助的人:135万
展开全部
main()
{
int sum=0;
for(int i=3;i<=n;i++){
if(i%3==0){
int mul=1;
for(int j=1;j<=i;j++){
mul=mul*j;
}
sum+=mul;
}
}
printtf(".......");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式