c语言判断是否是整数~急求

题目是这样子的:
输入一个数,判断是否是整数,如果是整数则输出“Yes”,否则输出“No”
输入一个数,判断是否是整数,如果是整数则输出“Yes”,否则输出“No”输入有多组测试数据
Sample Input
1
2.12
3.000

Sample Output
Yes
No
Yes

#include <stdio.h>
void main()
{
float n,flag;
do
{
printf("\n请输入一个数:");
scanf("%f%*c",&n);
flag=(n-(int)n)<1e-10?1:0;
if(flag) printf("Yes");
else printf("NO");
}while(1);
}追问

计算用的时间太多了- -,,能再改进下吗 大神~~~最多只能用1000MS

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-05
将输入的作为字符串存储,检测每个字符是不是0-9,是就yes,不是就no
第2个回答  2012-10-05
你说具体点,是给整数一个范围,还是不带小数点,还是整数字符追问

不是范围 就是判断一个数 是不是整数 就是小数点后没有数嘛就比如12.36不是整数,12.00就是整数撒

追答

最简单的方法,C++中有个函数,你直接包含那个库,就可以使用那个函数了
最笨的方法,乘以1000,然后取模1000,如果不为0,就说明原来有小数,这个1000是看原来有几位小数定的,如果是1.00001,这个就是10000了
其它,还有就是设定一个范围,你要找的是哪个范围内,例如,从0到655535,那么用一个for语句,循环体每次加1,若都不和那个数相等,则肯定不是整数

c语言判断是否是整数~急求
do { printf("\\n请输入一个数:");scanf("%f%*c",&n);flag=(n-(int)n)<1e-10?1:0;if(flag) printf("Yes");else printf("NO");}while(1);}

c语言求一个数的2对数,并且判断结果是不是整数?
}else{printf( "不是整数\\n" );}return 0;}

我写的c语言代码有些问题,但看不出来,急求。
你的sum+=1\/i 中 1 和 i 都是整型算出来的结果也是整型的,所以要强制转换或把 1 写成 1.0 编译器会识别为是float型数据。

C语言编写一个程序判断一个数是否为素数?急求
6、点击窗体会弹出提示对话框,输入要判断素数的数值,点击确定按钮,这个时候自动进行判断并给出结果。7、执行文件-保存工程命令,按照提示依次保存窗体和工程即可。

c语言初学,素数判断急求,要求“输入6个整数,中间用空格隔开,判断每个...
int main(){ int a[6];int i;int flag;int j;printf("请输入六个正整数:");for(i = 0; i < 6; i++)scanf("%d",&a[i]);for(i = 0; i < 6; i++){ flag = 1;for(j = 2; j <= sqrt(a[i]); j++)if(a[i] % j == 0)flag = 0;if(flag)printf("第%d...

已知int x;则数学表达式“1<x<10”的表达式是
C语言程序中规定了int x,就说x是整数,再结合1<x<10 那么x的结果就是2,3,4,5,6,7,8,9了。如果你写判断句那就可以是if(1<x<10)或者if((1<x)&&(x<10))如果满意,请采纳!

求答案啊!!C语言大师来帮助我啊!!求你了!!急求
int main(){ FILE *fp1,*fp2;int m,n;long k;unsigned long cnt;int *matrix;int i,j;int lx,ly,rx,ry;if((fp1=fopen("memory.in","r"))==NULL){ printf("open memory.in error\\n");exit(1);} if((fp2=fopen("memory.out","w"))==NULL){ printf("open memory.out ...

【急求】c语言程序输入一个整数(int),要求输出其二进制形式的值。_百...
c语言 是否为整数 重复输入直到为整数 如果a不是整数 C语言 判断getchar 整数 实数与整数 大整数减法 其他类似问题2011-12-09 c语言怎样 有键盘输入一个整数,在屏幕上输出其二进制数值 2014-12-24 输入一个整数用c语言输出其二进制和十六进制,为啥我编得程序只... 1 2014-11-29 输入一个整数...

c语言程序设计 整数长度差错 急求帮助啊~~
第一个问题中,如果要对程序进行改错的话,那应该就是加一个IF来把0的情况另外考虑,当然有一点你应该注意,因为你定义的是整形的,所以输入的数X应该要注意超限的问题;而至于第二个问题,既然只要求能够正确运行的话,那我想题目的用意主要是考对函数返回值类型的问题,程序在上面定义了一个结构体类型...

菜鸟急求C语言编程答案——指针
int j,sum=0;while(m){ s=s*10+m%10;m\/=10;} if(s == n) \/\/判断回文数 p1 = 1;else p1 = 0;for(j=1;j<n ;++j){ if(n%j==0)sum+=j;} if(sum==n) \/\/判断完全数 p2 = 1;else p2 = 0;return;} void main(){ int num;int p1,p2;while(1){ printf("...

相似回答