求一个字符串长度,并对该字符串按以下方法将其加密变换: A->Z a->z B->Y b->y C->X c->x …… …… Z->A z->a 即字母A变成Z、字母B变成Y、…,非字母字符不变。 输入格式: 从键盘上读入一行字符(约定:字符数≤127字节) 输出格式: 在屏幕上先显示这一行字符的长度,再显示生成的密文
时间: 2023-08-23 10:06:55 浏览: 158
易语言字符串rot13算法源码
以下是C语言的实现代码:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main() {
char str[128];
int len;
// 读入字符串
printf("请输入一行字符:\n");
fgets(str, 128, stdin);
// 计算字符串长度
len = strlen(str) - 1; // 减1是因为fgets会读入换行符
// 输出字符串长度
printf("字符串长度为:%d\n", len);
// 加密变换
for (int i = 0; i < len; i++) {
if (isupper(str[i])) { // 大写字母
str[i] = 'A' + 'Z' - str[i];
} else if (islower(str[i])) { // 小写字母
str[i] = 'a' + 'z' - str[i];
}
// 其他字符不变
}
// 输出加密后的字符串
printf("加密后的字符串为:%s\n", str);
return 0;
}
```
运行程序,输入一行字符,例如:
```
Hello, World!
```
则输出结果为:
```
请输入一行字符:
Hello, World!
字符串长度为:13
加密后的字符串为:Svool, Dliow!
```
阅读全文