自学内容网 自学内容网

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

目录

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 = 0
    spaces = 0
    digits = 0
    others = 0

    # 提示用户输入一些字符
    print("请输入一些字母:")
    input_string = input()  # 获取用户输入

    # 遍历输入的每个字符
    for c in input_string:
        if c.isalpha():  # 检查是否为字母
            letters += 1
        elif c.isdigit():  # 检查是否为数字
            digits += 1
        elif c == ' ':  # 检查是否为空格
            spaces += 1
        else:  # 其他字符
            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 的环境中直接运行。

原文地址:https://blog.csdn.net/xinfanyyds/article/details/144093104

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!