C++ 字符串函数(五)--符号、大小、中文


#include <iostream>
#include <cctype>
#include <stdio.h>
using namespace std;
void numOFC();

int main(int argc, const char * argv[])
{
    
    
    numOFC();
    return 0;
    
    char ch[100];// = "aa aa,asd a ewo!";
    char c;
    
    int isEnglish = 0;
    int isPunct = 0;
    int isNum = 0;
    int isSpace = 0;
    int isCntrl = 0;
    int isGraph = 0;
    int isPrint = 0;
    
    while (cin.get(c)) {

        //字母
        if (isalpha(c))
        {
            isEnglish++;
        }
        //数字 0~9
        if (isdigit(c))
        {
            isNum++;
        }
        //标点符号 、 ! ~ ,、
        if (ispunct(c))
        {
            isPunct++;
        }
        //空白字符、空格、水平制表符/垂直制表符、换行符\n、进纸、
        if (isspace(c))
        {
            isSpace++;
        }
        //空格之外的打印字符(包含标点符号、字母、数字)
        if (isgraph(c))
        {
            isGraph++;
        }
        //打印字符(包括空格,标点符号、字母、数字)
        if (isprint(c))
        {
            isPrint++;
        }
        //控制字符(包含换行\n、)
        if (iscntrl(c))
        {
            isCntrl++;
        }
    
    }
    
    

    
    return 0;
}


void numOFC()
{
    int isEnglish = 0; //英文
    int isPunct = 0;  //标点
    int isSpace = 0;  //空格
    int isChinese = 0;
    char c;

    
    
    while (cin.get(c)) {
        
        if (c=='\n')
        {
            break;
        }
        
        //字母
        if (isalpha(c))
        {
            isEnglish++;
        }
        //符号
        else if (ispunct(c))
        {
            isPunct++;

        }
        //空格
        else if (isspace(c))
        {
            isSpace++;
        }
        else
        {
            isChinese++;
        }
        
    }
    cout << "字母:" << isChinese/3+isEnglish << endl
         << "符号:" << isPunct <<endl
         << "空格:" << isSpace <<endl;

    
    
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值