| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 747 人关注过本帖
标题:一个阶乘和的问题。。。
只看楼主 加入收藏
Areik
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2009-9-28
结帖率:87.5%
收藏
 问题点数:0 回复次数:8 
一个阶乘和的问题。。。
计算1!+2!+。。。10!的结果


#include <stdio.h>

void main()
{
    long int m,n,sum,sum2;
   
       for(n=1;n<=10;n=n++)
       {   sum = 1;
           for(m=1;m<=n;m=m++)
           sum = sum*m;
       }
       sum2 = sum2+sum;
       printf("%d",sum2);
}

写出来之后,每次启动,都提示sum2未被定义,哪位朋友能帮忙解决一下?
搜索更多相关主题的帖子: 阶乘 
2009-10-26 06:36
jiangwu10057
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:341
专家分:667
注 册:2009-3-25
收藏
得分:0 
程序代码:
#include <stdio.h>  
main()  
{  
int i,j;  
long int sum,k;  
sum=0;  
k=1;  
for(i=1;i<=10;i++)  
   {  
   for(j=1;j<=i;j++)  
      k=k*j;  
   sum=sum+k;  
   }  
printf("The result is %ld.\n",sum);  
} 

你运行一下看看,这个可以不可以。

将long int sum,k; 改为double sum,k;
printf("The result is %ld.\n",sum); 改为printf("The result is %f.\n",sum);  
运行结果是
1.274420312381610950000000000000000000000e+156
ps:看看这个帖子:https://bbs.bccn.net/thread-286997-1-1.html
这个回复是黏贴来的
原帖是m456m654
2009-10-26 07:16
godbless
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:216
专家分:950
注 册:2009-7-24
收藏
得分:0 
以下是引用Areik在2009-10-26 06:36:39的发言:

计算1!+2!+。。。10!的结果


#include <stdio.h>

void main()
{
    long int m,n,sum,sum2;
   
       for(n=1;n<=10;n=n++)
       {   sum = 1;
           for(m=1;m<=n;m=m++)
           sum = sum*m;
 ...
不是没定义,而是没有给初值,编译器不错..
2009-10-26 08:00
jiangwu10057
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:341
专家分:667
注 册:2009-3-25
收藏
得分:0 
以下是引用godbless在2009-10-26 08:00:29的发言:

不是没定义,而是没有给初值,编译器不错..
你怎么知道的·?
2009-10-26 10:20
zqb7899
Rank: 4
等 级:业余侠客
帖 子:159
专家分:238
注 册:2009-10-16
收藏
得分:0 
for(n=1;n<=10;n++)
for(m=1;m<=n;m++)
sum2未赋初值
2009-10-26 12:06
lfaohxb
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2009-10-24
收藏
得分:0 
你只给sum2定义了数据类型,但没给它初始赋值,我觉得sum2是个多余,完全没有必要,最后只要输出sum就可以了。
2009-10-26 20:48
Quavarion
Rank: 2
等 级:论坛游民
帖 子:60
专家分:28
注 册:2009-10-9
收藏
得分:0 
sum2未赋初值
2009-10-26 21:43
music369
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-10-24
收藏
得分:0 
你那个程序sum2是没定义。用这个程序吧,比你那个简单
#include <stdio.h>
 
void main()
{
    long int n,sum2=1;
    static long int sum=1;
     
       for(n=2;n<=10;n++)
       {   
           sum *= n;
           sum2 = sum2+sum;
       }
        
       printf("%d",sum2);
}
结果是4037913.不放心的话可以在sum2 = sum2+sum;后打印sum2的结果就可以知道了
2009-10-26 23:10
华飞
Rank: 2
等 级:论坛游民
帖 子:18
专家分:18
注 册:2009-10-23
收藏
得分:0 
sum2=0
2009-10-26 23:32
快速回复:一个阶乘和的问题。。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024858 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved