首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

咋回事

2012-03-13 
怎么回事#include stdio.h#includemath.h voidmain(){longinti,x,y,zfor(i1i 100000i++) {xsqrt

怎么回事
#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+268);    
     if(x*x==i+100&&y*y==i+268)
    printf( "\n%ld\n ",i);
 }
}
怎么编译错误呢  
请高手指点一下
还有这里用“math.h”和 <math.h>   应该用后者吧

[解决办法]
#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+268);
if(x*x==i+100 && y*y==i+268)
printf( "\n%ld\n ",i);
}
}
[解决办法]
注意字体。
你的if在vc编译环境下都没有变蓝,能用吗?
[解决办法]
貌似没什么问题。。

ps:注意一下sqrt返回类型是double,强制转换一下:x = (long)sqrt(i+100);
[解决办法]
没变蓝,就在if后面空个格再写后面的咯。。
[解决办法]
你的字体有问题,有些字符不是标准assiic的 空白的地方也有。
你把下面的拷贝回去试试。

#include <stdio.h>
#include <math.h>
void main()
{
long int i,x,y,z;
for (i=1;i <100000;i++)
{
x = (long)sqrt(i+100);
y = (long)sqrt(i+268);
if(x*x==i+100&&y*y==i+268)
printf( "\n%ld\n ",i);
}
}
[解决办法]
在输入程序的时候,不要乱切换中英文,要出问题的。
用了中文要及时换回英文。你的程序很多地方字体不对。你拷到word下你就能发现了。
[解决办法]
非注释语句一定要是英文输入法,你的程序用鼠标从行尾分号开始mark到下一行字符前,然后按个回车,从main后每行如此,再编译就好了。

热点排行