当前位置: 首页 > news >正文

2025-03-15 学习记录--C/C++-PTA 练习3-4 统计字符

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻

一、题目描述 ⭐️

练习3-4 统计字符

本题要求编写程序,输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。

输入格式:
输入为10个字符。最后一个回车表示输入结束,不算在内。

输出格式:
在一行内按照

letter = 英文字母个数, blank = 空格或回车个数, digit = 数字字符个数, other = 其他字符个数

的格式输出。

输入样例:

aZ &
09 Az

输出样例:

letter = 4, blank = 3, digit = 2, other = 1

二、代码(C语言)⭐️

#include <stdio.h>  // 包含标准输入输出库,用于使用scanf和printf等函数

int main() {
    char strArr[12];  // 定义一个字符数组strArr,大小为12,用于存储输入的字符

    // 使用for循环从用户输入中读取10个字符,并存储到strArr数组中
    for(int i = 0; i < 10; i++) {
        scanf("%c", &strArr[i]);  // 从标准输入读取一个字符,并存储到strArr[i]中
    }

    // 定义四个整数变量n1, n2, n3, n4,用于统计不同类型的字符数量
    int n1 = 0, n2 = 0, n3 = 0, n4 = 0;

    // 使用for循环遍历strArr数组中的前10个字符
    for(int i = 0; i < 10; i++) {
        // 判断当前字符是否为字母(包括大小写)
        if((strArr[i] >= 'a' && strArr[i] <= 'z') || (strArr[i] >= 'A' && strArr[i] <= 'Z')) {
            n1++;  // 如果是字母,n1加1
        } 
        // 判断当前字符是否为空格或换行符
        else if(strArr[i] == ' ' || strArr[i] == '\n') {
            n2++;  // 如果是空格或换行符,n2加1
        } 
        // 判断当前字符是否为数字
        else if(strArr[i] >= '0' && strArr[i] <= '9') {
            n3++;  // 如果是数字,n3加1
        } 
        // 如果当前字符不是字母、空格、换行符或数字,则归类为其他字符
        else {
            n4++;  // 如果是其他字符,n4加1
        }
    }

    // 输出统计结果:字母数量、空格/换行符数量、数字数量、其他字符数量
    printf("letter = %d, blank = %d, digit = %d, other = %d", n1, n2, n3, n4);

    return 0;  // 程序正常结束,返回0
}

在这里插入图片描述

相关文章:

  • Java创造型模式之原型模式详解
  • 《基於Python的网络爬虫抓包技术研究与应用》
  • 基于“动手学强化学习”的知识点(一):第 14 章 SAC 算法(gym版本 >= 0.26)
  • 基本的WinDbg调试指令
  • SEO优先级矩阵:有限资源下的ROI最大化决策模型
  • 科技快讯 | “垃圾短信”可以被识别了;阿里正式推出AI旗舰应用;OpenAI深夜发布全新Agent工具
  • python数据分析文件夹篇--pandas,openpyxl,xlwings三种方法批量创建、 复制、删除工作表
  • JAVA中的多态性以及它在实际编程中的作用
  • 1141. 【贪心算法】排队打水
  • 【2025最新版】如何将fnm与node.js安装在D盘?【保姆级安装及人性话理解教程】
  • git submodule
  • 疗养院管理系统设计与实现(代码+数据库+LW)
  • 动态规划习题代码题解
  • 本地部署量化满血版本deepseek的Ktransformer清华方案的硬件配置
  • 【linux驱动开发】创建proc文件系统中的目录和文件实现
  • win10 win+shift+s 无法立即连续截图 第二次截图需要等很久
  • [RA-L 2023] Coco-LIC:基于非均匀 B 样条的连续时间紧密耦合 LiDAR-惯性-相机里程计
  • API自动化测试实战:Postman + Newman/Pytest的深度解析
  • 深度学习中学习率调整策略
  • java实现智能家居控制系统——入门版
  • 北方首场高温将进入鼎盛阶段,江南华南多地需警惕降雨叠加致灾
  • 气急败坏!20多名台湾艺人被台当局列为“重点核查对象”
  • 泽连斯基:俄代表团级别低,没人能做决定
  • 多个“首次”!上市公司重大资产重组新规落地
  • 国家防汛抗旱总指挥部对15个重点省份开展汛前实地督导检查
  • 时隔三年,俄乌直接谈判重启