|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 求1!+2!+3!+4!+……+20!
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
45809
人关注过本帖
标题:
求1!+2!+3!+4!+……+20!
只看楼主
加入收藏
rangelee
等 级:
论坛游民
帖 子:17
专家分:18
注 册:2009-7-4
第
11
楼
收藏
得分:0
回复 7楼 cxg8790809
恩,是错了,
int sum,n,i,j;
for (i=1;i<=20;i++)
{
n=1;
for(j=1;j<=i;j++)
{
n=n*j;
}
sum=sum+n;
}
至于会不会溢出就不知道了,好久没弄C了,有点不习惯了。调试下如果溢出那就改成LONG型吧!
[
本帖最后由 rangelee 于 2009-9-26 15:11 编辑
]
2009-09-26 15:08
举报帖子
使用道具
赠送鲜花
li151312595
等 级:
新手上路
帖 子:9
专家分:0
注 册:2009-9-26
第
12
楼
收藏
得分:0
long整型都 溢出···就单20!的值是2432902008176640000
2009-09-26 15:14
举报帖子
使用道具
赠送鲜花
蠢财一刀
等 级:
新手上路
帖 子:2
专家分:1
注 册:2009-9-13
第
13
楼
收藏
得分:0
对,同意楼上的观点,编译没错,不过确实溢出了。怎么办?
2009-09-26 15:50
举报帖子
使用道具
赠送鲜花
奋斗2010
等 级:
论坛游民
帖 子:14
专家分:22
注 册:2009-8-31
第
14
楼
收藏
得分:0
程序应该这样:
#include<stdio.h>
main()
{
int i,j,sex,sum;
sum=0;
for(i=1;i<=20;i++)
{
for(sex=1, j=1;j<=i;j++)
sex=sex*j;
sum=sum+sex;
}
printf("1!+2!...+20!=%d",sum);
}
2009-09-26 16:06
举报帖子
使用道具
赠送鲜花
jedypjd
等 级:
蒙面侠
威 望:
9
帖 子:1096
专家分:4969
注 册:2009-7-27
第
15
楼
收藏
得分:0
结果数很大
天涯无岁月,歧路有风尘,百年浑似醉,是非一片云
2009-09-26 16:09
举报帖子
使用道具
赠送鲜花
血狼夜怨
等 级:
论坛游民
帖 子:13
专家分:22
注 册:2009-9-13
第
16
楼
收藏
得分:0
貌似没有喜欢使用函数的朋友啊...下面是我的程序,不过同样存在溢出问题.
#include<stdio.h>
#define
N
20
int func(int n)
{
if(n==0)
return 1;
return n*func(n-1);
}
void main()
{
int func(int n);
int i;
int sum=0;
for(i=1;i<=N;i++)
sum+=func(i);
printf("The result is:%d!\n",sum);
}
2009-09-26 16:45
举报帖子
使用道具
赠送鲜花
li151312595
等 级:
新手上路
帖 子:9
专家分:0
注 册:2009-9-26
第
17
楼
收藏
得分:0
怎么解决溢出的问题呢····头痛···
2009-09-26 17:24
举报帖子
使用道具
赠送鲜花
li151312595
等 级:
新手上路
帖 子:9
专家分:0
注 册:2009-9-26
第
18
楼
收藏
得分:0
main()
{
long float a=1,b,c=0;
for(b=1;b<=20;b++)
{
a*=b;
c+=a;
}
printf("%lf",c);
getch();
}
这样就可以了···呵呵··
2009-09-26 17:37
举报帖子
使用道具
赠送鲜花
xljiulong
等 级:
新手上路
帖 子:8
专家分:1
注 册:2007-6-29
第
19
楼
收藏
得分:0
#include<stdio.h>
#include<math.h>
void main(void)
{
long int sum=0,sign=1,i;
for(i=1;i<=20;i++)
{
sign*=i;
sum+=sign;
}
printf("%ld\n",sum);
}
希望能在这条路上能有所收获
2009-09-26 18:09
举报帖子
使用道具
赠送鲜花
m456m654
等 级:
小飞侠
威 望:
3
帖 子:783
专家分:2806
注 册:2009-9-17
第
20
楼
收藏
得分:0
回复 18楼 li151312595
long float??
有这个嘛??好像没有哇~
2009-09-26 18:36
举报帖子
使用道具
赠送鲜花
80
2/8页
1
2
3
4
5
6
7
8
快速回复:
求1!+2!+3!+4!+……+20!
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.019032 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved