c语言编程中如何判断一个数是否为整数

如题所述

C语言判断是否为整数,那么只可能是判断输入的值,或者字符串中的值,是否为整数。

因为一旦存储在变量中,根据变量类型,要么为整数,要么为浮点数,是确定的。 

一、判断思路:

1、整数中,按十进制计算,合法字符为0到9,另外在最初位置可以有符号,即+或者-。

2、对于输入的值,可以先存储到字符串中,这样转换为判断字符串中是否为整数。

3、先判断第一个字符是否为+或者-, 如果是,则从第二个开始判断,否则从第一个开始判断。

4、对每一个需要判断的字符,判断是否在'0'到'9'之间,如果是则合法,否则非法。

5、一旦出现非法字符,说明不是整数。如果所有字符合法,那么是整数。

二、参考代码:

int is_int(char *s)//判断s中是否为整数,如果是返回1,否则返回0.
{
    char* p =s;//p指向s。
    if(*p=='+'||*p=='-')//如果第一个字符为符号,则从第二个开始遍历。
        p++;
    while(*p)//遍历字符串。
    {
        if(*p<'0'||*p>'9') return 0;//出现非法字符,返回0,表示不是整数。 
        p++;//判断下一个字符。
    }
    return 1;//所有都是合法字符,返回1,表示为整数
}
int main()
{
    char s[200];
    gets(s);//读取输入,存到s中。
    if(is_int(s))//判断并输出结果
        printf("%s æ˜¯æ•´æ•°\n", s);
    else 
        printf("%s ä¸æ˜¯æ•´æ•°\n",s);
    return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-12
这个提法不正确,“一个数”是什么概念?如果一块内存中的数据可以解释成一个数,那这个数可以是整数,也可以是浮点数。如果你要判断用户输入的数是整数还是浮点数,你只能用浮点数来存储,然后判断是否和自己强转的整数形式相等。
第2个回答  推荐于2018-05-29
int ret;
ret=scanf("%d,%d",&x,&y); //记录scanf函数的返回值
if(ret!=2) //根据scanf函数的返回值,判断输出数据个数或者格式是否错误
{
printf("你输入的数是非整数\n");
while(getchar()!='\n'); //清除输入缓冲区中的错误数据
}本回答被网友采纳
第3个回答  推荐于2017-10-11
double x;
scanf("%f",&x);
if((int)x==x)
printf("%f是整数",x);本回答被提问者采纳
第4个回答  2011-09-11
比如double x=2.75;
int y=(int)x;

if(x==y)就是正数

if条件判断是否为整数
c语言编程中如何判断一个数是否为整数```这段代码中,我们使用 if 语句来判断输入的数是否为正整数。条件表达式“num 0 && num % 1 == 0”表示 num 大于 0 并且 num 除以 1 的余数为 0,即 num 是正整数。在C语言中可以用unsigned int或unsigned short或unsigned char或unsigned long关键字...

在c语言编程中,要如何判断一个数是否为整数?
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(“...

c语言编程中如何判断一个数是否为整数
C语言判断是否为整数,那么只可能是判断输入的值,或者字符串中的值,是否为整数。因为一旦存储在变量中,根据变量类型,要么为整数,要么为浮点数,是确定的。一、判断思路:1、整数中,按十进制计算,合法字符为0到9,另外在最初位置可以有符号,即+或者-。2、对于输入的值,可以先存储到字符串中,...

C语言中怎样判别一个数为整数
在C语言中,char、int、long int 均是整型类型。若有一个变量,你在编程中忘记它是什么数据类型,这是很危险的,虽然我们可以使用下面方法判别是否为整数,但是成功率很低,不建议使用。while(x>1){ x--;} if(x>0) prinft("它是一个整数");...

怎样用C语言编程判断一个数是整数
a%1 取余,整数的话余数肯定等于零,小数就有零点几几了

在c语言中如何判断输入的两个数是否都是整数
所以得到错误的答案 所以验证是否为整数不能这样验证,可能要当字符串来处理,只要检查里面是否有 小数点或其他符号即可 既然要判断,就应该全面容错,比如错误输入其他字符等,用字符串来判断并不麻烦 如果你真要用 助理那个程序有个地方要改下 if(a-int(a)!=0) ——》 if(a-int(a)<1e-8)...

c语言 用指针判断输入的数是否为整数, 是输出1, 不是输出0
你的程序主要有三个错误:一: *str=st;前面少了char(或者把上一句后的分号改成逗号)二:对isdigit函数使用错误,此函数的参数是char类型,不是char *,所以要用循环逐个判断。楼下回答的程序是正确的。三:main函数前少了int,这是新标准规定,而且你main中还有return语句。需要补充的是,char st...

C语言中如何判断一个数的位数?
C语言中判断一个数的位数:include <stdio.h>void main(){void num(int a);long a;scanf("%ld",&a);num( a);}void num(int a){ long b=0;int i;for(i=0;a>0;a\/=10,i++){b=(b*10)+a%10;}printf("%d位的,逆序数=%ld\\n",i,b); }具体如下:1、简介C语言是一门...

C语言中若不确定输入值是小数还是整数该如何声明
那就是实数啊,用float和double类型都行!输入时整数就打入整数,没有必须劳驾加上.0!

如何用DEV C++编程实现对一个数值进行判断?
1、首先打开DEV C++软件,点击“新建源代码”,在编辑页面输入以下代码。2、因为题目要求我们先输入一个整数,所以在定义变量时,就应该将其定义为整数型,注意,在输入,输出函数中,整数型对应的是“%d”。3、接下来就要对输入的整数进行判断,在C语言中,if是判断语句,所以用它来对整数进行判断。if...

相似回答