利用for循环嵌套编写程序,计算1!+2!+3!+……+n!,要求n的值要由键盘输入 一定要用嵌套

谢谢... 谢谢 展开
 我来答
寒试决
2012-01-05 · TA获得超过675个赞
知道答主
回答量:55
采纳率:100%
帮助的人:20.2万
展开全部

在win-TC环境中,你所问的算法编译内容如下:

#include "stdio.h"

#include "conio.h"

long cheng(int n)

{

    long M;

    int t;

    if(n==0)

    M=0;

    else if(n==1)

    M=1;

    else M=1;

    for(t=1;t<=n;t++)

    {

         M*=t;

    }

    return(M);

}

 main()

{

    long sum=0;

    int i,n;

        

    printf("Input your number for calculating\n");

    scanf("%d",&n);

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

        {

           sum+=cheng(i);

         }

    printf("the result=%ld",sum);

    getch();

}

我刚给你写的,付编译图一张。有图有真相,我输入的n是10,结果是4037913. 

感谢对我回答评论的那个兄台,我之前的答案给看错了。看成1+2+3+……+n=?

请注意我的数据类型,sum和M都是长整型的,还有注意第二个printf中式%ld。如果数据类型不对的话就搞不到大数字。请楼主一定深思。

这下真的有图有真相了。 

还有我利用了函数的嵌套。

测绘地理信息
2012-01-05 · TA获得超过2204个赞
知道小有建树答主
回答量:516
采纳率:100%
帮助的人:473万
展开全部
利用for循环嵌套,就这样写:
#include<stdio.h>
void main()
{
int n,i,j,t,s=0;
printf("Input n:");
scanf("%d",&n);
for(i=1; i<=n; i++)
{
t=1;
for (j=1; j<=i; j++)
{
t*=j;
}
s+=t;
}
printf("sum:%d\n",s);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
通俨05l
2012-01-05 · TA获得超过250个赞
知道小有建树答主
回答量:81
采纳率:0%
帮助的人:108万
展开全部
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
long long times=0;
cin>>times;
long long result=0;
for(long long i=1;i<=times;i++)
{
long long temp=1;
for(int j=1;j<=i;j++) temp*=j;
result+=temp;
}
cout<<result<<endl;
return 0;
}
//用的long long,不会越界吧~~
追问
要用c语言的  嵌套啊
追答
c语言么?那就不能用long long了(因为c++若菜不知道占位符是什么,有关你的平台的)。只要把long ong全改成int,声明扔到main函数第一行,for的时候初始化即可。但是小心int越界。关于long long请baidu
#include
int main()
{
int times,result=0,temp=1,i,j;
scanf("%d",×);
for(i=1;i<=times;i++)
{
temp=1;
for(j=1;j<=i;j++) temp=j*temp;
result=temp+result;
}
printf("%d",result);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式