你首先需要知道‘递归’.|

2c237c6

园龄:1年4个月粉丝:2关注:0

C语言统计某个字母的个数、统计各种字符的个数、统计单词的个数牛客22202题」2023年9月27日

1.引用<ctype.h>库函数:

拿牛客上面的题目举例:

https://ac.nowcoder.com/acm/problem/22202

 输入一串字符,以“?”结束。统计其中字母个数,数字个数,其它符号个数。

#include <stdio.h>  // 标准输入输出函数,例如 printf 和 scanf
#include <stdlib.h>  // 常用的实用程序函数,例如内存分配和随机数生成
#include <string.h>  // 字符串处理函数,例如字符串拷贝和字符串比较
#include <math.h>  // 数学函数,例如三角函数和指数函数
#include <time.h>  // 时间和日期操作函数
#include <stdbool.h>  // 布尔类型支持
#include <ctype.h>  // 字符处理函数,例如字符大小写转换和字符类型判断
#include <limits.h>  // 常量定义,包括整数类型的取值范围
#include <assert.h>  // 断言库,用于在程序中插入断言条件

int main(){
    char std[100];
    int i,Letters=0,Digits=0,Others=0,j=0;
   for (i = 0; i < 100; i++) {
        scanf("%c", &std[i]);
        if (std[i] == '?' || i == 99) {
            std[i+1] = '\0'; 
            break;
        }
    }
    for (j;std[j] !='?';j++) {
        if(isalpha(std[j])){
            Letters++;
        }
        else if (isdigit(std[j])) {
            Digits++;
        }
        else if (isspace(std[j])){
            Others++;
            continue;
        }
        else{
            Others++;
        }
    }
     printf("Letters=%d\nDigits=%d\nOthers=%d",Letters,Digits,Others);
    return 0;
}

对于这道题其实比较简单只要用上ctype.h库中的函数就可以解决问题

ctype.h库函数提供了一些用于字符类型判断和转换的函数,包括以下函数(重点):

  • isalnum(c):判断字符c是否为字母或数字。
  • isalpha(c):判断字符c是否为字母。
  • isdigit(c):判断字符c是否为数字。
  • isspace(c):判断字符c是否为空格符、制表符、换行符等空白字符。
  • isupper(c):判断字符c是否为大写字母。
  • islower(c):判断字符c是否为小写字母。
  • tolower(c):将字符c转换为小写字母。
  • toupper(c):将字符c转换为大写字母。

可以通过#include<ctype.h>语句引用该库函数

本文作者:2c237c6

本文链接:https://www.cnblogs.com/27dCnc/p/18568717

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   2c237c6  阅读(24)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起