输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。-多语言
目录
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
程序分析:利用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表示程序正常结束
}
- 头文件包含:
#include <stdio.h>
用于引入标准输入输出库。 - 变量声明: 声明字符变量
c
和四个整型变量letters
、spaces
、digits
、others
,用于统计不同类型的字符。 - 用户输入提示: 使用
printf
提示用户输入字符。 - 字符读取: 使用
getchar()
函数逐个读取字符,直到遇到换行符(用户按下 Enter 键)。 - 字符分类:
- 如果字符是字母(小写或大写),则
letters
计数器加 1。 - 如果字符是数字(0-9),则
digits
计数器加 1。 - 如果字符是空格,则
spaces
计数器加 1。 - 其他字符则计入
others
计数器。
- 如果字符是字母(小写或大写),则
- 结果输出: 使用
printf
输出统计结果。 - 程序结束:
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() # 调用主函数
- 函数定义: 定义
main()
函数作为程序的主入口。 - 变量初始化: 初始化四个计数器
letters
、spaces
、digits
和others
为 0。 - 用户输入: 使用
input()
函数提示用户输入字符。 - 字符遍历: 使用
for
循环遍历输入字符串中的每个字符。- 使用
isalpha()
方法检查字符是否为字母。 - 使用
isdigit()
方法检查字符是否为数字。 - 直接比较字符是否为空格。
- 其他字符则计入
others
计数器。
- 使用
- 结果输出: 使用
print()
函数输出统计结果。 - 程序入口: 使用
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(); // 关闭扫描器
}
}
- 导入 Scanner 类:
import java.util.Scanner;
用于获取用户输入。 - 主类定义: 定义
CharacterCounter
类。 - 主方法:
public static void main(String[] args)
是程序的入口。 - 变量声明: 声明字符变量
c
和四个整型变量letters
、spaces
、digits
、others
,用于统计不同类型的字符。 - 创建 Scanner 对象: 使用
Scanner
类创建一个对象以获取用户输入。 - 用户输入提示: 使用
System.out.println
提示用户输入字符。 - 读取输入: 使用
scanner.nextLine()
读取整行输入。 - 字符遍历: 使用
for
循环遍历输入字符串中的每个字符。- 使用
Character.isLetter(c)
检查字符是否为字母。 - 使用
Character.isDigit(c)
检查字符是否为数字。 - 直接比较字符是否为空格。
- 其他字符则计入
others
计数器。
- 使用
- 结果输出: 使用
System.out.printf
输出统计结果。 - 关闭 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();
- 函数定义: 定义
countCharacters
函数作为程序的主逻辑。 - 变量初始化: 初始化四个计数器
letters
、spaces
、digits
和others
为 0。 - 用户输入: 使用
prompt()
函数提示用户输入字符,并将输入的字符串存储在inputString
变量中。 - 字符遍历: 使用
for...of
循环遍历输入字符串中的每个字符。- 使用正则表达式
/[a-zA-Z]/
检查字符是否为字母。 - 使用正则表达式
/\d/
检查字符是否为数字。 - 直接比较字符是否为空格。
- 其他字符则计入
others
计数器。
- 使用正则表达式
- 结果输出: 使用
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();
- 函数定义: 定义
countCharacters
函数作为程序的主逻辑。 - 变量初始化: 初始化四个计数器
letters
、spaces
、digits
和others
为 0。 - 用户输入: 使用
prompt()
函数提示用户输入字符,并将输入的字符串存储在inputString
变量中。由于prompt()
可能返回null
,因此使用string | null
类型。 - 输入检查: 确保用户输入不为空,如果输入为空,则提示用户没有输入任何字符。
- 字符遍历: 使用
for...of
循环遍历输入字符串中的每个字符。- 使用正则表达式
/[a-zA-Z]/
检查字符是否为字母。 - 使用正则表达式
/\d/
检查字符是否为数字。 - 直接比较字符是否为空格。
- 其他字符则计入
others
计数器。
- 使用正则表达式
- 结果输出: 使用
alert()
函数输出统计结果。
注意:
- 该代码在浏览器环境中运行,因为它使用了
prompt()
和alert()
函数来与用户交互。 - 确保在 TypeScript 环境中编译并运行此代码,或者在支持 TypeScript 的环境中直接运行。
原文地址:https://blog.csdn.net/xinfanyyds/article/details/144093104
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!