当前位置: 首页 > 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.mrgr.cn/news/78633.html

相关文章:

  • 【yolov8自卸卡车-挖掘机-装载机检测】
  • Structured-Streaming集成Kafka
  • 百度网盘非会员强制上传超出4 G大文件
  • 66.加一 python
  • 【机器学习】穷理至极,观微知著:微积分的哲思之旅与算法之道
  • 基于ESP32的桌面小屏幕实战[5]:PCB下单
  • STL——string类的模拟实现
  • 基于 Spring Boot 实现图片的服务器本地存储及前端回显
  • Matlab学习笔记
  • Ionic移动端开发
  • FFmpeg 推流给 FreeSWITCH
  • ESP32开发板在micropython里直接用requests向web服务器发送请求:ESP32S3开发板通过fastapi中转成功连接星河大模型
  • 判断一个数字是否为质数-多语言
  • string接口模拟实现2
  • 18. C++STL 4(vector的使用, 空间增长, 迭代器失效详解)
  • HCIA笔记6--路由基础
  • 【真正离线安装】Adobe Flash Player 32.0.0.156 插件离线安装包下载(无需联网安装)
  • 透视投影(Perspective projection)与等距圆柱投影(Equirectangular projection)
  • GateWay使用手册
  • gcc编译
  • 如何在Spark中使用gbdt模型分布式预测
  • HTML飞舞的爱心(完整代码)
  • HarmonyOS Next 模拟器安装与探索
  • 十四(AJAX)、AJAX、axios、常用请求方法(GET POST...)、HTTP协议、接口文档、form-serialize
  • 基于vite创建一个脚手架(快速入门)
  • 【Gitlab】CICD使用minio作为分布式缓存