C语言中如何判断一个数是不是整数

做了C语言的一道题,题目是这样的:一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照... 做了C语言的一道题,题目是这样的: 一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索找出车号。需要判断车号的平方根是不是整数,怎么判断呀。 展开
 我来答
问明6E
高粉答主

2019-06-03 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:12.3万
展开全部

方法1:

#include<stdio.h>

#include<math.h>

float x;

...

if(fabs(x-(int)x)<1e-8)printf(“x是一个整数\n”);

else printf(“x不是一个整数\n”);

方法2:

int c=(int)b,d=(int)(b+0.999999)

if(c==d)

printf(“是整数\n”);

else

printf(“不是整数\n”);

方法3:

float b;

...

if(b-(int)b==0)

printf(“是整数\n”);

else

printf(“不是整数\n”);

方法4:

float b;

...

if(b!=(int)b)

printf(“不是整数\n”);

else

printf(“是整数\n”);

匿名用户
2013-08-15
展开全部
你直接用int型不就得了,这样是不会保留小数的...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-15
展开全部
//结果是7744, 是88*88 = 7744先附上运行截图附上程序, 偶楼主你加了点注释#include <stdio.h>
#include <math.h>int main(void){
//首先因为是车牌号码, 类似0011这样的数字是可以出现的, 不能当作11
//所以用字符串代替最好不过了
int num[4], i, j;
bool SqrtIsIntNum(int n[4]);//判断平方根是不是整数的函数
//前两个数字和后两个数字一样, 所以用两个循环就OK
for (i = 0; i <= 9; ++i)
for (j = 0; j <= 9; ++j){
//条件之一: 前前两个数字相同, 后后两个数字相同
num[0] = i;
num[1] = i;
num[2] = j;
num[3] = j;
//条件之二: 这两个数字不等
//条件之三: 平方根是整数
if ((i != j) && SqrtIsIntNum(num) == true)
printf("%d%d%d%d\n", num[0], num[1], num[2], num[3]);
}
getchar();
return 0;
}bool SqrtIsIntNum(int n[4]){
double d = n[0] * 1000 + n[1] * 100 + n[2] * 10 + n[3];
//判断平方根是不是整数
if ((double)(int)sqrt(d) == sqrt(d))
return true;
else
return false;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-15
展开全部
sqrt(a)==(int)sqrt(a)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黑里俏09B
2021-12-07
知道答主
回答量:1
采纳率:0%
帮助的人:400
展开全部
#include<stdio.h>

int main()
{
for(int i=0;i<10;i++){
for (int j=0;j<10;j++){
int a=i*1000+i*100+j*10+j;
if(i!=j&&(int)sqrt(a)==sqrt(a)){
printf("%d\n",a);
}
}
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式