| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3150 人关注过本帖
标题:在acm上我的这个代码运行他为什么判我结果错误啊?
只看楼主 加入收藏
帝师
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:166
专家分:92
注 册:2018-10-11
收藏
得分:0 
回复 9楼 wlxy_wang
图片附件: 游客没有浏览图片的权限,请 登录注册
第一个就是我的,他说答案错误

I am the voice of the next generation
Completely digital
Create synthetic auras
2018-12-11 21:17
帝师
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:166
专家分:92
注 册:2018-10-11
收藏
得分:0 
回复 9楼 wlxy_wang
图片附件: 游客没有浏览图片的权限,请 登录注册
第一个就是我的,他说答案错误

I am the voice of the next generation
Completely digital
Create synthetic auras
2018-12-11 21:17
帝师
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:166
专家分:92
注 册:2018-10-11
收藏
得分:0 
有不有大神帮我再看看想不通啊

I am the voice of the next generation
Completely digital
Create synthetic auras
2018-12-12 14:32
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:633
专家分:3045
注 册:2011-4-22
收藏
得分:0 
t=1-1/2*2-1/3*3.....1/m*m
这样出题一点难度也没有,会不会是
t=1-1/2*2+1/3*3-.....1/m*m
或者t=1+1/2*2-1/3*3+.....1/m*m
写错了?
2018-12-12 14:50
帝师
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:166
专家分:92
注 册:2018-10-11
收藏
得分:0 
回复 14楼 zbjzbj
真的是这样,等哈我给你截图。这题目真的就是这样,如果是一加一减也不会有他这个答案啊

I am the voice of the next generation
Completely digital
Create synthetic auras
2018-12-12 14:57
wlxy_wang
Rank: 5Rank: 5
等 级:职业侠客
威 望:2
帖 子:77
专家分:303
注 册:2018-11-2
收藏
得分:0 
回复 10楼 帝师
那你就要考虑m输入0和负值的情况了,把这两种情况特别处理一下,还有,也不需要定义double类型了,定义float类型就可以了,少几个字节。

[此贴子已经被作者于2018-12-12 16:23编辑过]

2018-12-12 16:19
帝师
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:166
专家分:92
注 册:2018-10-11
收藏
得分:0 
回复 16楼 wlxy_wang
他是1/m^2  ,0应该不用考虑啊,我把负数加进去了,还是不对,要不你帮我去acm上看看去,号子和密码一样,最后一页题目倒数第九个
#include<stdio.h>
int main()
{
    double t=0;
    int m;
    int i,j;
    scanf("%d",&m);
    if(m>=0)
    for(j=1,i=1;i<=m;i++)
    {
        
        t+=j*1/(i*i*1.0);
        j=-1;
    }
    else
        for(j=1,i=-1;abs(i)<=abs(m);i--)
        {
            t+=j*1/(i*i*1.0);
        j=-1;
        }
    printf("%.6lf\12",t);
    return 0;
}

I am the voice of the next generation
Completely digital
Create synthetic auras
2018-12-12 19:29
wlxy_wang
Rank: 5Rank: 5
等 级:职业侠客
威 望:2
帖 子:77
专家分:303
注 册:2018-11-2
收藏
得分:0 
回复 17楼 帝师
0当然要考虑啊,要考虑输入错误的问题。
2018-12-12 20:31
帝师
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:166
专家分:92
注 册:2018-10-11
收藏
得分:0 
回复 18楼 wlxy_wang
我问了哈出题的人,他说不用考虑0和负数,
这样就对了,他就把i定义成double型的就好了,这是为啥啊
#include<stdio.h>
int main()
{
    double t=0,i;
    int m;
    int j;
    scanf("%d",&m);
    t=0;
    for(j=1,i=1;i<=m;)
    {
        
        t+=j*1/(i*i*1.0);
        j=-1;
        i+=1;
    }
   
    printf("%.6lf\12",t);
   
    return 0;
}

I am the voice of the next generation
Completely digital
Create synthetic auras
2018-12-12 20:58
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:633
专家分:3045
注 册:2011-4-22
收藏
得分:0 
t+=j*1/(i*i*1.0);//如果把i定义成双精度,就不需要做*1.0转换成双精度了。
t+=j*1.0/(i*i);
不要迷信专家,专家也会犯错误。

[此贴子已经被作者于2018-12-12 23:52编辑过]

2018-12-12 23:42
快速回复:在acm上我的这个代码运行他为什么判我结果错误啊?
数据加载中...
 
   



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

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