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

输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。-多语言

目录

C 语言实现

Python 实现

Java 实现

Js 实现

Ts 实现


题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

程序分析:利用while语句,条件为输入的字符不为'\n'。

C 语言实现

#include <stdio.h>int main() {char c;int letters = 0, spaces = 0, digits = 0, others = 0;// 提示用户输入一些字符printf("请输入一些字母:\n");// 读取字符直到遇到换行符while ((c = getchar()) != '\n') {// 判断字符类型并更新计数if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {letters++;} else if (c >= '0' && c <= '9') {digits++;} else if (c == ' ') {spaces++;} else {others++;}}// 输出结果printf("字母=%d, 数字=%d, 空格=%d, 其他=%d\n", letters, digits, spaces, others);return 0; // 返回0表示程序正常结束
}
  1. 头文件包含: #include <stdio.h> 用于引入标准输入输出库。
  2. 变量声明: 声明字符变量 c 和四个整型变量 lettersspacesdigitsothers,用于统计不同类型的字符。
  3. 用户输入提示: 使用 printf 提示用户输入字符。
  4. 字符读取: 使用 getchar() 函数逐个读取字符,直到遇到换行符(用户按下 Enter 键)。
  5. 字符分类:
    • 如果字符是字母(小写或大写),则 letters 计数器加 1。
    • 如果字符是数字(0-9),则 digits 计数器加 1。
    • 如果字符是空格,则 spaces 计数器加 1。
    • 其他字符则计入 others 计数器。
  6. 结果输出: 使用 printf 输出统计结果。
  7. 程序结束: return 0; 表示程序正常结束。

Python 实现

def main():letters = 0spaces = 0digits = 0others = 0# 提示用户输入一些字符print("请输入一些字母:")input_string = input()  # 获取用户输入# 遍历输入的每个字符for c in input_string:if c.isalpha():  # 检查是否为字母letters += 1elif c.isdigit():  # 检查是否为数字digits += 1elif c == ' ':  # 检查是否为空格spaces += 1else:  # 其他字符others += 1# 输出结果print(f"字母={letters}, 数字={digits}, 空格={spaces}, 其他={others}")if __name__ == "__main__":main()  # 调用主函数
  1. 函数定义: 定义 main() 函数作为程序的主入口。
  2. 变量初始化: 初始化四个计数器 lettersspacesdigitsothers 为 0。
  3. 用户输入: 使用 input() 函数提示用户输入字符。
  4. 字符遍历: 使用 for 循环遍历输入字符串中的每个字符。
    • 使用 isalpha() 方法检查字符是否为字母。
    • 使用 isdigit() 方法检查字符是否为数字。
    • 直接比较字符是否为空格。
    • 其他字符则计入 others 计数器。
  5. 结果输出: 使用 print() 函数输出统计结果。
  6. 程序入口: 使用 if __name__ == "__main__": 确保在直接运行脚本时调用 main() 函数。

Java 实现

import java.util.Scanner;public class CharacterCounter {public static void main(String[] args) {char c;int letters = 0, spaces = 0, digits = 0, others = 0;// 创建 Scanner 对象以获取用户输入Scanner scanner = new Scanner(System.in);System.out.println("请输入一些字母:");// 读取输入直到换行String input = scanner.nextLine();// 遍历输入的每个字符for (int i = 0; i < input.length(); i++) {c = input.charAt(i);if (Character.isLetter(c)) {  // 检查是否为字母letters++;} else if (Character.isDigit(c)) {  // 检查是否为数字digits++;} else if (c == ' ') {  // 检查是否为空格spaces++;} else {  // 其他字符others++;}}// 输出结果System.out.printf("字母=%d, 数字=%d, 空格=%d, 其他=%d\n", letters, digits, spaces, others);scanner.close(); // 关闭扫描器}
}
  1. 导入 Scanner 类: import java.util.Scanner; 用于获取用户输入。
  2. 主类定义: 定义 CharacterCounter 类。
  3. 主方法: public static void main(String[] args) 是程序的入口。
  4. 变量声明: 声明字符变量 c 和四个整型变量 lettersspacesdigitsothers,用于统计不同类型的字符。
  5. 创建 Scanner 对象: 使用 Scanner 类创建一个对象以获取用户输入。
  6. 用户输入提示: 使用 System.out.println 提示用户输入字符。
  7. 读取输入: 使用 scanner.nextLine() 读取整行输入。
  8. 字符遍历: 使用 for 循环遍历输入字符串中的每个字符。
    • 使用 Character.isLetter(c) 检查字符是否为字母。
    • 使用 Character.isDigit(c) 检查字符是否为数字。
    • 直接比较字符是否为空格。
    • 其他字符则计入 others 计数器。
  9. 结果输出: 使用 System.out.printf 输出统计结果。
  10. 关闭 Scanner: 使用 scanner.close() 关闭扫描器以释放资源。

Js 实现

function countCharacters() {let letters = 0;let spaces = 0;let digits = 0;let others = 0;// 提示用户输入一些字符const inputString = prompt("请输入一些字母:");// 遍历输入的每个字符for (let c of inputString) {if (/[a-zA-Z]/.test(c)) {  // 检查是否为字母letters++;} else if (/\d/.test(c)) {  // 检查是否为数字digits++;} else if (c === ' ') {  // 检查是否为空格spaces++;} else {  // 其他字符others++;}}// 输出结果alert(`字母=${letters}, 数字=${digits}, 空格=${spaces}, 其他=${others}`);
}// 调用函数
countCharacters();
  1. 函数定义: 定义 countCharacters 函数作为程序的主逻辑。
  2. 变量初始化: 初始化四个计数器 lettersspacesdigitsothers 为 0。
  3. 用户输入: 使用 prompt() 函数提示用户输入字符,并将输入的字符串存储在 inputString 变量中。
  4. 字符遍历: 使用 for...of 循环遍历输入字符串中的每个字符。
    • 使用正则表达式 /[a-zA-Z]/ 检查字符是否为字母。
    • 使用正则表达式 /\d/ 检查字符是否为数字。
    • 直接比较字符是否为空格。
    • 其他字符则计入 others 计数器。
  5. 结果输出: 使用 alert() 函数输出统计结果。

Ts 实现

function countCharacters(): void {let letters = 0;let spaces = 0;let digits = 0;let others = 0;// 提示用户输入一些字符const inputString: string | null = prompt("请输入一些字母:");// 确保用户输入不为空if (inputString) {// 遍历输入的每个字符for (const c of inputString) {if (/[a-zA-Z]/.test(c)) {  // 检查是否为字母letters++;} else if (/\d/.test(c)) {  // 检查是否为数字digits++;} else if (c === ' ') {  // 检查是否为空格spaces++;} else {  // 其他字符others++;}}// 输出结果alert(`字母=${letters}, 数字=${digits}, 空格=${spaces}, 其他=${others}`);} else {alert("没有输入任何字符。");}
}// 调用函数
countCharacters();
  1. 函数定义: 定义 countCharacters 函数作为程序的主逻辑。
  2. 变量初始化: 初始化四个计数器 lettersspacesdigitsothers 为 0。
  3. 用户输入: 使用 prompt() 函数提示用户输入字符,并将输入的字符串存储在 inputString 变量中。由于 prompt() 可能返回 null,因此使用 string | null 类型。
  4. 输入检查: 确保用户输入不为空,如果输入为空,则提示用户没有输入任何字符。
  5. 字符遍历: 使用 for...of 循环遍历输入字符串中的每个字符。
    • 使用正则表达式 /[a-zA-Z]/ 检查字符是否为字母。
    • 使用正则表达式 /\d/ 检查字符是否为数字。
    • 直接比较字符是否为空格。
    • 其他字符则计入 others 计数器。
  6. 结果输出: 使用 alert() 函数输出统计结果。

注意:

  • 该代码在浏览器环境中运行,因为它使用了 prompt()alert() 函数来与用户交互。
  • 确保在 TypeScript 环境中编译并运行此代码,或者在支持 TypeScript 的环境中直接运行。
http://www.lryc.cn/news/494602.html

相关文章:

  • 2-2-18-9 QNX系统架构之文件系统(三)
  • 各大浏览器(如Chrome、Firefox、Edge、Safari)的对比
  • nginx搭建直播推流服务
  • 单片机-- 松瀚sonix学习过程
  • 循环神经网络:从基础到应用的深度解析
  • 从扩散模型开始的生成模型范式演变--SDE
  • 【python使用kazoo连ZooKeeper基础使用】
  • 【设计模式系列】解释器模式(十七)
  • 只出现一次的数字
  • SpringMVC-08-json
  • 技术文档的语言表达
  • UEFI 事件
  • 大师开讲-图形学领域顶级专家王锐开讲Vulkan、VSG开源引擎
  • 小F的矩阵值调整
  • ORB-SLAM2 ----- LocalMapping::SearchInNeighbors()
  • 给UE5优化一丢丢编辑器性能
  • 【Docker】常用命令汇总
  • Mybatis:CRUD数据操作之多条件查询及动态SQL
  • 【笔记】轻型民用无人驾驶航空器安全操控
  • TouchGFX设计模式代码实例说明
  • flink学习(7)——window
  • restTemplate get请求
  • ffmpeg 预设的值 加速
  • maven <scope>compile</scope>作用
  • Ubuntu Server 22.04.5 从零到一:详尽安装部署指南
  • 反射机制了解
  • 机器学习策略Ⅰ
  • redis中的bigkey及读取优化
  • 【西瓜书】支持向量机(SVM)
  • 三维渲染中顺序无关的半透明混合(OIT)(二——Stencil Route)