(C卷,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())

免责声明:

1、IT资源小站为非营利性网站,全站所有资料仅供网友个人学习使用,禁止商用
2、本站所有文档、视频、书籍等资料均由网友分享,本站只负责收集不承担任何技术及版权问题
3、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除下载链接并致以最深的歉意
4、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
5、一经注册为本站会员,一律视为同意网站规定,本站管理员及版主有权禁止违规用户
6、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和IT资源小站的同意
7、IT资源小站管理员和版主有权不事先通知发贴者而删除本文

0

评论0

站点公告

没有账号?注册  忘记密码?