💐The Begin💐点点关注,收藏不迷路💐
|
编写程序,求给定字符串s的亲朋字符串s1。
亲朋字符串s1定义如下:给定字符串s的第一个字符的ASCII值加第二个字符的ASCII值,得到第一个亲朋字符; 给定字符串s的第二个字符的ASCII值加第三个字符的ASCII值,得到第二个亲朋字符;依此类推,直到给定字符串s的倒数第二个字符。亲朋字符串的最 后一个字符由给定字符串s的最后一个字符ASCII值加s的第一个字符的ASCII值。
输入
输入一行,一个长度大于等于2,小于等于100的字符串。字符串中每个字符的ASCII值不大于63。
输出
输出一行,为变换后的亲朋字符串。输入保证变换后的字符串只有一行。
样例输入
1234
样例输出
cege
C语言实现
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 100
int main() {
char s[MAX_LENGTH];
scanf(“%s”, s); // 输入给定的字符串
int len = strlen(s);
char s1[MAX_LENGTH];
for (int i = 0; i < len - 1; i++) {
s1[i] = s[i] + s[i + 1]; // 根据规则计算每个亲朋字符(除最后一个)
}
s1[len - 1] = s[len - 1] + s[0]; // 计算最后一个亲朋字符
for (int i = 0; i < len; i++) {
printf(“%c”, s1[i]); // 输出亲朋字符串
}
printf(“\n”);
return 0;
}
C++实现
#include <iostream
>
#include <string
>
using namespace std;
int main() {
string s;
cin >> s; // 输入给定的字符串
string s1 = “”;
int len = s.size();
for (int i = 0; i < len - 1; i++) {
s1 += char(s[i] + s[i + 1]); // 根据规则计算每个亲朋字符(除最后一个)
}
s1 += char(s[len - 1] + s[0]); // 计算最后一个亲朋字符
cout << s1 << endl; // 输出亲朋字符串
return 0;
}
Java实现
import java.util.Scanner;
public class RelativeString {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.next(); // 输入给定的字符串
StringBuilder s1 = new StringBuilder();
int len = s.length();
for (int i = 0; i < len - 1; i++) {
s1.append((char) (s.charAt(i) + s.charAt(i + 1))); // 根据规则计算每个亲朋字符(除最后一个)
}
s1.append((char) (s.charAt(len - 1) + s.charAt(0))); // 计算最后一个亲朋字符
System.out.println(s1.toString()); // 输出亲朋字符串
scanner.close();
}
}
Python实现
s = input() # 输入给定的字符串
s1 = “”
for i in range(len(s) - 1):
s1 += chr(ord(s[i]) + ord(s[i + 1])) # 根据规则计算每个亲朋字符(除最后一个)
s1 += chr(ord(s[-1]) + ord(s[0])) # 计算最后一个亲朋字符
print(s1)
💐The End💐点点关注,收藏不迷路💐
|