关于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 编辑 ]