(新卷,100分)- 单词加密(Java JS Python)
2026/4/9 18:04:17 网站建设 项目流程

(新卷,100分)- 单词加密(Java & JS & Python)

题目描述

1、输入一个英文句子,句子中包含若干个单词,每个单词间有一个空格;

2、需要将句子中的每个单词按照要求加密输出。

要求:

1)单词中包括元音字符(‘aeuio’、‘AEUIO’,大小写都算),则将元音字符替换成‘*’

2)单词中不包括元音字符,将单词首尾字符进行对换

输入描述

输入只有一行,包含一个长度都不超过100的字符串,表示英文句子。

输出描述

输出只有一行,即按要求输出加密处理后的英文句子

用例
输入Hello world
输出H*ll* w*rld
说明
题目解析

简单的正则应用。

JS算法源码
/* JavaScript Node ACM模式 控制台输入获取 */ const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); rl.on("line", (line) => { console.log(getResult(line)); }); function getResult(s) { const words = s.split(" "); for (let i = 0; i < words.length; i++) { if (/[aeiouAEIOU]/.test(words[i])) { words[i] = words[i].replaceAll(/[aeiouAEIOU]/g, "*"); } else { const arr = [...words[i]]; const tmp = arr[0]; arr[0] = arr[arr.length - 1]; arr[arr.length - 1] = tmp; words[i] = arr.join(""); } } return words.join(" "); }
Java算法源码
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.nextLine(); System.out.println(getResult(s)); } public static String getResult(String s) { String[] words = s.split(" "); for (int i = 0; i < words.length; i++) { Matcher matcher = Pattern.compile("[aeiouAEIOU]").matcher(words[i]); if (matcher.find()) { words[i] = matcher.replaceAll("*"); } else { char[] cArr = words[i].toCharArray(); char tmp = cArr[0]; cArr[0] = cArr[cArr.length - 1]; cArr[cArr.length - 1] = tmp; words[i] = new String(cArr); } } return String.join(" ", words); } }
Python算法源码
import re # 输入获取 s = input() # 算法入口 def getResult(): words = s.split() letter = "[aeiouAEIOU]" for i in range(len(words)): if re.search(letter, words[i]): words[i] = re.sub(letter, "*", words[i]) else: lst = list(words[i]) lst[0], lst[-1] = lst[-1], lst[0] words[i] = "".join(lst) return " ".join(words) # 算法调用 print(getResult())

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询