陈老师的课堂太无聊啦,小明和小红决定重玩小时候的游戏:在课堂上传纸条。他们约定了一套游戏规则,对传送的纸条进行加密:(1)以元音字母(a/e/i/o/u以及这些字母的大写形式)开头的单词,在单词的尾部加上字符串"ay"。例如:"arm"变成"armay"。(2)以不是元音字母开头的单词,去掉第一个字母,将该字母加入单词尾部,再在单词尾部加上"ty"。例如:"today"变成"odaytty"。(3)不要改变任何字母的大小写。 例如: 输入:Study hard and make progress every day. 输出:tudySty ardhty anday akemty rogresspty everyay aydty.C语言
时间: 2023-07-24 13:42:01 浏览: 114
好的,以下是 C 语言的实现:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void encrypt(char *s) {
char *delim = " ,.?!"; // 分隔符
char *word = strtok(s, delim);
while (word != NULL) {
if (strchr("aeiouAEIOU", word[0])) {
printf("%say ", word);
} else {
printf("%s%c%s ", word+1, word[0], "ty");
}
word = strtok(NULL, delim);
}
}
int main() {
char s[100];
fgets(s, 100, stdin);
encrypt(s);
return 0;
}
```
注意:C 语言中没有内置的字符串类型,需要使用字符数组(char array)来存储字符串。上面的代码使用了 strtok 函数来分割字符串,strchr 函数来判断首字母是否为元音字母。
相关问题
陈老师的课堂太无聊啦,小明和小红决定重玩小时候的游戏:在课堂上传纸条。他们约定了一套游戏规则,对传送的纸条进行加密:(1)以元音字母(a/e/i/o/u以及这些字母的大写形式)开头的单词,在单词的尾部加上字符串"ay"。例如:"arm"变成"armay"。(2)以不是元音字母开头的单词,去掉第一个字母,将该字母加入单词尾部,再在单词尾部加上"ty"。例如:"today"变成"odaytty"。(3)不要改变任何字母的大小写。 例如: 输入:Study hard and make progress every day. 输出:tudySty ardhty anday akemty rogresspty everyay aydty.
这是一个简单的字符串处理问题。你可以按照以下步骤解决:
1. 将输入的字符串按照空格分割成单词。
2. 对于每个单词,判断第一个字母是否为元音字母。如果是,将单词的尾部添加上"ay";否则,将单词的第一个字母移动到尾部并添加上"ty"。
3. 将处理后的单词拼接成一个字符串。
下面是一个 Python3 的实现:
```python
def encrypt(sentence):
words = sentence.split()
vowels = set(['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'])
result = []
for word in words:
if word[0] in vowels:
result.append(word + 'ay')
else:
result.append(word[1:] + word[0] + 'ty')
return ' '.join(result)
```
你可以尝试调用这个函数并输入一个字符串,它会输出加密后的结果。
阅读全文