标题:想请问一下,该怎么判断一个数是否是整数啊
只看楼主
wyft5t5
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2015-12-9
结帖率:0
已结贴  问题点数:2 回复次数:15 
想请问一下,该怎么判断一个数是否是整数啊
最近做一个练习,从键盘输入一个正整数,让计算机判断这个数是否为一位整数(1~9),如果是则输出yes,如果否则输出no

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a;
    scanf("%d",&a) ;
    if(a<10&a>0) printf("yes");
    else printf("no");   
    system("pause");
    return 0;
}
这是我的代码,可以通过,但是如果输入一个小数的话,比如2.3,仍然是输出yes。所以想请问大家一下,有没有判断是否为整数的办法啊。
搜索更多相关主题的帖子: include 计算机 system return 正整数 
2015-12-09 22:33
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:1 
用%s接进来

DO IT YOURSELF !
2015-12-09 22:36
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
或者用gets

DO IT YOURSELF !
2015-12-09 22:41
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:1 
程序代码:
#include <stdio.h>
#include <ctype.h>

int main( void )
{
    int a; char c;
    if( scanf("%d%c",&a,&c)==2 && isspace(c) && a>0 && a<10 )
        puts( "yes" );
    else
        puts( "no" );

    return 0;
}
2015-12-10 09:27
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
或者用gets

DO IT YOURSELF !
2015-12-10 10:18
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
用%s接进来

DO IT YOURSELF !
2015-12-10 10:19
王考拉
Rank: 3Rank: 3
来 自:山东
等 级:论坛游侠
威 望:1
帖 子:69
专家分:156
注 册:2015-12-9
得分:1 
中间的&不是用两个吗?

我的孤独,虽败犹荣!
2015-12-10 11:47
zphua
Rank: 2
等 级:论坛游民
帖 子:2
专家分:11
注 册:2015-12-3
得分:1 
要么用gets要么用switch...
2015-12-10 12:01
c1028131070
Rank: 1
等 级:新手上路
帖 子:1
专家分:1
注 册:2015-12-10
得分:1 
回复 楼主 wyft5t5
#include <stdio.h>
#include <stdlib.h>
#include<math.h>
int main()
{
    double a;int b;
    scanf("%lf",&a) ;
    b=fabs(a);
    if(a==b&&a<10&&a>0) printf("yes");
    else printf("no");
    system("pause");
    return 0;
}
垃圾了点,见谅!
2015-12-10 14:44
文心边城
Rank: 2
等 级:论坛游民
威 望:2
帖 子:98
专家分:67
注 册:2005-12-13
得分:1 
在输入后先判断一下是不是整数:

#include<stdio.h>
void main()
{
    char str[100];
    int i, j;
    printf("请输入一个数字:\n");
    for (i = 0; (str[i] = getchar()) != '\n'; i++);
    for (j = 0; j<i; j++)
    {
        if (str[j] == '.')
        {
            printf("这个数字不是整数!\n");
            break;
        }
    }
    if ((i == j) && (0 != i))
        printf("这个数字是整数!\n");
}

会写c c++ java php JS AS vb python
2015-12-11 02:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-460053-1-1.html




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

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