永发信息网

C语言的问题,高手请进

答案:5  悬赏:10  手机版
解决时间 2021-08-11 12:34
#include<stdio.h>
#include<math.h>
void main()
{
 long int i,x,y,z;
 for(i=1;i<=100000;i++)
 {
  x=sqrt(i+100);
  y=sqrt(i+168);
  if(x*x==(i+100)&&y*y==(i+168))
   printf("%ld",i);
}
报错:c:\windows\system32\hsh.cpp(8) : warning C4244: '=' : conversion from 'double' to 'long', possible loss of data
c:\windows\system32\hsh.cpp(9) : warning C4244: '=' : conversion from 'double' to 'long', possible loss of data
c:\windows\system32\hsh.cpp(13) : fatal error C1004: unexpected end of file found
执行 cl.exe 时出错.
最佳答案

#include<stdio.h>
#include<math.h>
void main()
{
 long int i,x,y,z;
 for(i=1;i<=100000;i++)
 {
  x=sqrt(i+100);
  y=sqrt(i+168);
  if(x*x==(i+100)&&y*y==(i+168))
   printf("%ld",i);
}


}


少一个花括号

全部回答
根据代码来看 是少了一个 }
最后少了一个大括号。

#include <stdio.h> #include <math.h>

int main() {  long int i,x,y;  for(i=1;i<=100000;i++)  {   x=(long)sqrt(i+100);   y=(long)sqrt(i+168);   if(x*x==(i+100)&&y*y==(i+168))    printf("%ld\n",i);  }  return 0; }//类型不同,可强制转换一下...不过有精度丢失的问题

看提示是“数据类型转换异常” 位置应该是(我猜的) x=sqrt(i+100);  这一行 sqrt 是求开平方的函数,结果是double 类型,而 x 是long 型变量
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
天津82中在哪?从和平村怎么走!
关于有什么好的电影
秦皇岛那里能买到活的海鲜!
谁可以赠送我300粒音速种子?
哪里有网购supra或NIKE的高帮鞋?质量要好的
高三了、哥几个想奋斗了!所以搞了个组合、想
空调突然不运行
什么才是真的喜欢和爱?
AMD245,DDR2的内存,配什么主板稳定?我换主板
非常6+1活动电话
秭归县宜昌青云不锈钢剪折板彩钢瓦地址在什么
上课注意力怎么集中?
请教勤哲excel服务器怎么使用
dnf本人想用QB换游戏币1比18左右的!信誉第一
直角三角形已知高是1.7米 下底是3.3米 求斜边
推荐资讯
上班的时候断了一个手指头现在好了我也不知道
我想问大家,相爱的两个人不能在一起,被拆散
QQ有些在线的人不显示咋办
天正建筑7.5版注册码!!!
开始菜单右边的字没了
怎样才能使女孩子讨厌自己
为什么爱我的人惨不忍睹,我爱的人却名花有主!
dnf无法运行咋办
卫东区平顶山万福楼大酒店我想知道这个在什么
聊天对话框怎么显示出来?
谁有好的炫舞挂?
关于逻辑锁问题
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?