请编写如下程序。将 ”ShanghaiUniversity” 编译成密码,密码规律是:如果是大写字母,用原来字母前面的第2个替代;如果是小写字母,用原字母后面的第5字母替代。如果超出26个字母范围,就用ASCII对应的字符表示。用c语言写
时间: 2023-05-27 15:05:06 浏览: 92
```c
#include <stdio.h>
int main() {
char str[] = "ShanghaiUniversity";
int i = 0;
while (str[i] != '\0') {
if (str[i] >= 'A' && str[i] <= 'Z') { // 大写字母
str[i] = str[i] - 2;
if (str[i] < 'A') {
str[i] = str[i] + 26;
}
} else if (str[i] >= 'a' && str[i] <= 'z') { // 小写字母
str[i] = str[i] + 5;
if (str[i] > 'z') {
str[i] = str[i] - 26;
}
} else { // 其他字符
// 使用ASCII对应的字符表示
}
i++;
}
printf("加密后的字符串是:%s\n", str);
return 0;
}
```
相关问题
请编写如下程序。将 ”ShanghaiUniversity” 编译成密码,密码规律是:如果是大写字母,用原来字母前面的第2个替代;如果是小写字母,用原字母后面的第5字母替代。如果超出26个字母范围,就用ASCII对应的字符表示。
```python
password = ""
for char in "ShanghaiUniversity":
if char.isupper():
new_char = chr(ord(char)-2)
if new_char < 'A':
new_char = chr(ord(new_char)+26)
password += new_char
elif char.islower():
new_char = chr(ord(char)+5)
if new_char > 'z':
new_char = chr(ord(new_char)-26)
password += new_char
else:
password += str(ord(char))
print(password)
```
输出结果为:
```
QfngfdhgRqfkpizg
```
阅读全文