Ctype.h 中isdigit 函数的使用 HDU2017 字符串

                             Ctype.h 中iddigit 函数的使用


查看文档:

function
<cctype>

isdigit

int isdigit ( int c );
Check if character is decimal digit
Checks whether c is a decimal digit character.

Decimal digits are any of: 0 1 2 3 4 5 6 7 8 9 

For a detailed chart on what the different ctype functions return for each character of the standard ASCII character set, see the reference for the <cctype> header.

In C++, a locale-specific template version of this function (isdigit) exists in header <locale>.

Parameters

c
Character to be checked, casted to an int, or EOF.

Return Value

A value different from zero (i.e., true) if indeed c is a decimal digit. Zero (i.e., false) otherwise.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/* isdigit example */
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main ()
{
  char str[]="1776ad";
  int year;
  if (isdigit(str[0]))
  {
    year = atoi (str);
    printf ("The year that followed %d was %d.\n",year,year+1);
  }
  return 0;
}



文档说了其实就是判断一个字母是不是数字的

下面写出一个测试文件:其实我认为可以将其转换成int 然后判断大小即可

#include<iostream>
using namespace std;

bool isdigit(char c)
{
   int t = (int)c;
   if(t>= 48 && t <=57) return true;
   return false;
}
int main()
{
  char s;
  while(cin>>s)
  {

     int ans = (int) s;
     cout<<ans<<endl;
  }
     return 0;
}

当然直接用系统函数也是可以的,我就是一个想法。。。

下面是杭电Hdu 2017 题目代码

 题目大意简单就是输入一串字符串,要你输出字符串中字母是数字的个数

首先看代码:

#include<iostream>
#include<ctype.h>
#include<cstdio>
using namespace std;

int main()
{//这里主要是统计数字字符个数 但是字符串中可能含有字母

    int test;
    char c;
    int cnt ;
    scanf("%d%*c", &test);
    while(test--)
    {
        for(cnt = 0 ;(c = getchar()) != '\n';)
        {

             if(isdigit(c)) cnt++;
        }
        cout<<cnt<<endl ;
    }
    return 0;
}


wangxiaoming CSDN认证博客专家 架构 Spring Boot Redis
博客是很好的总结和记录工具,如果有问题,来不及回复,关注微信公众号:程序员开发者社区,获取我的联系方式,向我提问,也可以给我发送邮件,联系 1275801617@qq.com
©️2020 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值