| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1539 人关注过本帖
标题:关于sqrt 数据类型的问题!不得不让警告!
只看楼主 加入收藏
vvvevvv
Rank: 2
来 自:黑龙江
等 级:论坛游民
帖 子:129
专家分:92
注 册:2010-9-9
结帖率:96%
收藏
已结贴  问题点数:20 回复次数:16 
关于sqrt 数据类型的问题!不得不让警告!
程序代码:
#include<stdio.h>//一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
#include<math.h>
void main()
{
    long i,x,y;//这个是正确答案!!但是我的做的时候 x,y的类型是double(因为 sqrt要求的double类型),结果我做的结果不对!
    for(i=0;i<=100000;i++)
    {
        x=sqrt(i+100);
        y=sqrt(i+268);
        if(x*x==i+100&&y*y==i+268)
            printf("%ld\n",i);
    }
}
哪位朋友能帮助我解释一下!
这道题用sqrt来解决 而 变量只有是long的时候才能做出这道题,但是vc6.0却出现了警告!希望朋友朋友能解释解释!谢谢

[ 本帖最后由 vvvevvv 于 2010-12-8 18:46 编辑 ]
搜索更多相关主题的帖子: 警告 数据 类型 sqrt 
2010-12-08 15:45
zzgzzg00
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:388
专家分:627
注 册:2010-8-2
收藏
得分:5 
x=sqrt(i+100);
        y=sqrt(i+268);意思是这个数加上100和268正好能开方,如果不能正好开方的话,则if(x*x==i+100&&y*y==i+268)不成立。
比如4和9,开方后为2和3,则2*2=1+3&&3*3=1+8
而对于3和5,如定义为整形,开方后则为1和2,则1*1!=3&&2*2!=5

[ 本帖最后由 zzgzzg00 于 2010-12-8 15:52 编辑 ]

粗心是大敌
2010-12-08 15:50
vvvevvv
Rank: 2
来 自:黑龙江
等 级:论坛游民
帖 子:129
专家分:92
注 册:2010-9-9
收藏
得分:0 
回复 2楼 zzgzzg00
首先谢谢~

我的问的是  sqrt 要求的数据类型应该是double吧
也就是说 x应该是double型  而且在运行之前的组建  vc也提示



最后的意思是    是不是  利用sqrt的时候  long型也可以??

学习~
2010-12-08 16:00
人生本是如此
该用户已被删除
收藏
得分:2 
提示: 作者被禁止或删除 内容自动屏蔽
2010-12-08 16:03
zzgzzg00
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:388
专家分:627
注 册:2010-8-2
收藏
得分:2 
我用tc2.0试了下,可以定义成long型的,只不过sqrt(3)=1而不是1.732....而已

粗心是大敌
2010-12-08 16:06
落叶深蓝色
Rank: 8Rank: 8
来 自:山东
等 级:蝙蝠侠
帖 子:319
专家分:807
注 册:2010-12-8
收藏
得分:1 
定义成double 怎么这样啊
2010-12-08 16:24
vvvevvv
Rank: 2
来 自:黑龙江
等 级:论坛游民
帖 子:129
专家分:92
注 册:2010-9-9
收藏
得分:0 
朋友帮帮忙!谢谢

学习~
2010-12-08 18:47
vvvevvv
Rank: 2
来 自:黑龙江
等 级:论坛游民
帖 子:129
专家分:92
注 册:2010-9-9
收藏
得分:0 
帮忙解决了!就不用自己顶了!!

学习~
2010-12-08 19:27
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:10 
x=sqrt(i+100);

x=(long)sqrt(i+100);
就去掉警告了

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-12-08 19:32
vvvevvv
Rank: 2
来 自:黑龙江
等 级:论坛游民
帖 子:129
专家分:92
注 册:2010-9-9
收藏
得分:0 
回复 9楼 御坂美琴
也就是说 sqrt只能返回 double了吧! 只能强制转换才可!!明白了! 谢谢!!!

学习~
2010-12-08 19:37
快速回复:关于sqrt 数据类型的问题!不得不让警告!
数据加载中...
 
   



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

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