C语言,怎么判定,是否数字?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言,怎么判定,是否数字?相关的知识,希望对你有一定的参考价值。

如题怎么判断
如果是判断是不是字母,可以根据ASC2来判断,
但是判断是不是数字,又该怎么判断

由于数字的ascii码值是连续的,所以可以通过与最小的数字\'0\'以及最大的数字\'9\'相比较,确定一个字符变量是否为数字。
比如

if(c>=\'0\' && c<=\'9\') printf("%c 是数字\\n",c);
else printf("%c 不是数字\\n",c);

如果判断要经常使用,可以将该功能封装为函数:
int is_num(char c)

return (c>=\'0\' && c<=\'9\');

或者宏定义:

#define is_num(c) (c>=\'0\' && c<=\'9\')
参考技术A 这么判断:
假设用char ch来接收用户输入。
判断是不是字母:
小写字母:if((ch>='a')&&(ch<='z'))
大写字母:if((ch>='A')&&(ch<='Z'))
字母(包含大小写):if(((ch>='a')&&(ch<='z'))||((ch>='A')&&(ch<='Z')))

判断是不是数字:
if((ch>='0')&&(ch<='9'))

给你一段程序就明白了:
#include<conio.h>
#include<stdio.h>

int main()

char ch;

printf("请输入: \n");

ch=getchar();

if(((ch>='a')&&(ch<='z'))||((ch>='A')&&(ch<='Z')))
printf("输入的是字母");
else if((ch>='0')&&(ch<='9'))
printf("输入的是数字");
else printf("输入的是其他字符");

getch();
return 0;
本回答被提问者采纳
参考技术B 由于数字的ascii码值是连续的,所以可以通过与最小的数字'0'以及最大的数字'9'相比较,确定一个字符变量是否为数字。
比如
if(c>='0'
&&
c<='9')
printf("%c
是数字\n",c);
else
printf("%c
不是数字\n",c);
如果判断要经常使用,可以将该功能封装为函数:
int
is_num(char
c)

return
(c>='0'
&&
c<='9');

或者宏定义:
#define
is_num(c)
(c>='0'
&&
c<='9')
参考技术C 数字 根据 ASCII
0x30 到 0x39 [十六进制] 来判断
参考技术D ctype.h

isdigit('1')

算法训练 判定数字

算法训练 判定数字  
时间限制:1.0s   内存限制:512.0MB
    
  编写函数,判断某个给定字符是否为数字。
样例输入
9
样例输出
yes
import java.util.Scanner;
public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc=new  Scanner(System.in);
        String s=sc.nextLine();
        char ch=s.charAt(0);
        if(Character.isDigit(ch)){
            System.out.println("yes");
        }
        else
            System.out.println("no");

    }

}

 

以上是关于C语言,怎么判定,是否数字?的主要内容,如果未能解决你的问题,请参考以下文章

c语言 怎么判断输入的是否数字?

C语言中怎么判定输入是不是为空

c语言中内循环次数怎么判定

C语言 设计并实现一种大素数随机生成方法; 实现一种快速判定任意一个大数是不是是素数方法 跪求啊

C语言中如何实现验证输入的是不是为数字?

c语言判断输入的是不是是数字(不止一位)