| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 14650 人关注过本帖
标题:怎样用C语言判断一个数是整数
只看楼主 加入收藏
liyang0430
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:98
专家分:159
注 册:2009-6-9
收藏
得分:0 
#include"stdio.h"
#include"string.h"
#include"conio.h"
#include"math.h"
 void main()
{
  int b,c;
  long a;
  for(a=1112;a<10000;a++)
  {
  b=sqrt(a);
  c=sqrt(a-1111);
  if(pow(b,2)==a&&pow(c,2)==(a-1111))
  {
  printf("%ld\n",a);
  break;
  }
  }
  getch();

}
我这样弄有结果,用那个位运算怎么弄都不显示结果!我的结果是3136  。我不知道对错,大侠们指教一下!
2010-05-13 13:38
liyang0430
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:98
专家分:159
注 册:2009-6-9
收藏
得分:0 
#include"stdio.h"
#include"string.h"
#include"conio.h"
#include"math.h"
 void main()
{
  int b,c;
  long a;
  textbackground(5);
  for(a=1112;a<10000;a++)
  {
  b=(int)sqrt(a);
  c=(int)sqrt(a-1111);
  if(pow(b,2)==a&&pow(c,2)==(a-1111))
  {
  cprintf("%ld\n",a);
  break;
  }
  }
  getch();
  return 0;
}
这样也行,嘿嘿
2010-05-13 13:42
liyang0430
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:98
专家分:159
注 册:2009-6-9
收藏
得分:0 
#include"stdio.h"
#include"string.h"
#include"conio.h"
#include"math.h"
 void main()
{
  int b,c;
  long a,d,e;
  textbackground(5);
  for(a=1112;a<10000;a++)
  {
  b=(int)sqrt(a);
  c=(int)sqrt(a-1111);
  d=b^2;
  e=c^2;
  if(d==a&&e==(a-1111))
  {
  cprintf("%ld\n",a);
  break;
  }
  }
  getch();
  return 0;
}
可是这样用位运算就不行了,能成功编译,但就是没结果!我用的是tc2.0  搞不懂了!?
2010-05-13 13:55
yc2575757
Rank: 7Rank: 7Rank: 7
来 自:北京
等 级:黑侠
威 望:1
帖 子:113
专家分:522
注 册:2010-5-7
收藏
得分:0 
#include <stdio.h>
#include "math.h"

void main()
{
  int a,b,c;
  for(a=1112;a<10000;a++)//这里注意大括号!!
  {
     b=(int)sqrt(a);
     c=(int)sqrt(a-1111);
    if(b*b==a && c*c==(a-1111))   //这里b^2不是b的平方!!
        printf("%d\n",a);
  }
}
2010-05-13 14:31
user_ABCDEFG
该用户已被删除
收藏
得分:2 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-13 14:37
user_ABCDEFG
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-13 14:40
user_ABCDEFG
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-13 14:41
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:2 
5楼的方法可行!

南国利剑
2010-05-14 18:52
xichong
Rank: 7Rank: 7Rank: 7
来 自:四川南充
等 级:黑侠
威 望:2
帖 子:146
专家分:582
注 册:2009-6-10
收藏
得分:2 
main()
{
  int a,b,c;
  for(a=1112;a<10000;a++)
  {
  b=(int)sqrt(a);
  c=(int)sqrt(a-1111);
  if(b^2==a&&c^2==(a-1111))
  printf("%d",a);
  }
  getch();
}

这样才对!
2010-05-14 19:10
快速回复:怎样用C语言判断一个数是整数
数据加载中...
 
   



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

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