| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5987 人关注过本帖
标题:求1+2!+3!+4!+…+30!。 科学计数法,保留两位小数。 0-0我的程序哪里不对 ...
只看楼主 加入收藏
lvluyun666
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-11-26
结帖率:0
收藏
已结贴  问题点数:20 回复次数:19 
求1+2!+3!+4!+…+30!。 科学计数法,保留两位小数。 0-0我的程序哪里不对了?
#include<stdio.h>
int main()
{
    int a,i,j,sum;
    a=1;j=2;sum=0;
    for (i=0;i<=30;i++)
    {
        while(j<=i)
        {
            a=a*j;
            j=j+1;
        }
        sum=sum+a;
    }
    printf("%.3g\n",sum);
}

2013-11-26 17:29
pink_duo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:209
专家分:1054
注 册:2013-11-5
收藏
得分:2 
int sum越界了
程序代码:
#include<stdio.h>
int main()
{
    int a,i,j;
    float sum;
    a=1;j=2;sum=0;
    for (i=0;i<=30;i++)
    {
        while(j<=i)
        {
            a=a*j;
            j=j+1;
        }
        sum=sum+a;
    }
    printf("%.3g\n",sum);
}

埋头做牛,抬头做人,低头做狗
2013-11-26 17:35
lvluyun666
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-11-26
收藏
得分:0 
为什么int sum越界了?
2013-11-26 17:43
lvluyun666
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-11-26
收藏
得分:0 
我去ACM  A题了,还是错的..
2013-11-26 17:44
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:2 
这道题应该用到大数,你用long long 先试试


[fly]存在即是合理[/fly]
2013-11-26 19:15
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
额,没看清题,要求两位小数你用.3g


[fly]存在即是合理[/fly]
2013-11-26 19:16
zjcl817
Rank: 4
来 自:残狼部落
等 级:业余侠客
威 望:2
帖 子:68
专家分:206
注 册:2013-11-11
收藏
得分:2 
回复 3楼 lvluyun666
你可以去查查int型的取值范围!
然后估计一下你的sum值在这个范围内吗?
2013-11-26 19:44
zjcl817
Rank: 4
来 自:残狼部落
等 级:业余侠客
威 望:2
帖 子:68
专家分:206
注 册:2013-11-11
收藏
得分:0 
#include<stdio.h>
int main()
{
  long int a=1,i,j=2;
    float sum=0;
    for (i=0;i<=30;i++)
    {
        while(j<=i)
        {
            a=a*j;
            j=j+1;
        }
        sum=sum+a;
    }
    printf("%.3f\n",sum);
2013-11-26 19:45
lvluyun666
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-11-26
收藏
得分:0 
回复 7楼 zjcl817
刚刚才反应过来..int的确越界了【挠头】
2013-11-26 19:51
lvluyun666
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-11-26
收藏
得分:0 
回复 8楼 zjcl817
float不会越界嘛?
而且要科学计数法,float 可以表示科学计数法么?
float 的精度不是只有6-7位么?
2013-11-26 19:55
快速回复:求1+2!+3!+4!+…+30!。 科学计数法,保留两位小数。 0-0我的程序哪里 ...
数据加载中...
 
   



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

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