请编写一个程序,输入一串英文字符串,为字符串中每个字符对应的整型数值加3,最后输出处理后的字符串,实现类似加密的效果。
时间: 2024-11-09 21:25:18 浏览: 23
当然可以。这里是一个简单的Python程序示例,它将实现这个功能:
```python
def encrypt_string(input_str):
encrypted_str = ""
for char in input_str:
# 将字母转换为ASCII值并加3,非字母字符保持原样
if char.isalpha():
ascii_val = ord(char) + 3
# 对大写字母和小写字母分别处理
if char.isupper():
encrypted_str += chr(ascii_val % 26 + 65)
else:
encrypted_str += chr(ascii_val % 26 + 97)
else:
encrypted_str += char
return encrypted_str
# 输入原始字符串
input_str = input("请输入一个英文字符串: ")
encrypted_str = encrypt_string(input_str)
print("加密后的字符串是: ", encrypted_str)
相关问题
在C语言中,编写程序,输入一个长整型数,将其转换为十六进制,以字符串形式输出
在C语言中,你可以通过库函数`itoa()`或`sprintf()`结合位操作来实现这个功能。这里是一个简单的示例,展示了如何使用`itoa()`将十进制整数转换成十六进制字符串:
```c
#include <stdio.h>
#include <string.h>
// 自定义itoa版本,因为标准库的itoa在某些环境下可能不可用
void itoa(int num, char *str, int base) {
if (num == 0) {
str[0] = '0';
str[1] = '\0';
} else {
static char digits[] = "0123456789ABCDEF";
int i;
for (i = 0; num > 0; ++i, num /= base) {
str[i] = digits[num % base];
}
// 如果数字不满16位,前面补0
while (i < sizeof(digits)) {
str[i++] = '0';
}
str[i] = '\0'; // 结束字符串
}
}
int main() {
long long number;
printf("请输入一个长整型数:");
scanf("%lld", &number); // 输入长整型数
char hexStr[33]; // 预计最大长度为16位+前导'0x' +终止符
itoa(number, hexStr, 16);
printf("转换后的十六进制字符串为:%s\n", hexStr);
return 0;
}
```
在这个例子中,我们首先从用户那里获取一个长整型输入,然后调用自定义的`itoa()`函数将其转换为十六进制字符串。注意,`itoa()`函数会将结果放在`hexStr`数组中,并自动在需要的时候添加前导'0x'表示这是一个十六进制数。
编写一个C语言程序输入字符串输出数字
在C语言中编写一个程序,可以接收用户输入的字符串并尝试解析它为数字(整数或浮点数)。这里是一个简单的示例,我们将只处理正整数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
// 函数声明,用于判断字符串是否表示有效的整数
int isInteger(const char* str);
int main() {
char input[100]; // 储存输入字符串
printf("请输入一个数字: ");
fgets(input, sizeof(input), stdin); // 读取用户输入
// 移除字符串结尾的换行符
size_t len = strlen(input);
if (input[len - 1] == '\n') {
input[len - 1] = '\0';
}
// 检查输入是否为整数
if (isInteger(input)) {
long num = strtol(input, NULL, 10); // 尝试转换为长整型
if (num != LONG_MIN) { // 成功转换且非最小值(避免溢出)
printf("输入的数字是: %ld\n", num);
} else {
printf("无效的数字!\n");
}
} else {
printf("这不是一个有效的数字。\n");
}
return 0;
}
// 辅助函数,检查字符串是否全由数字组成
int isInteger(const char* str) {
while (*str) {
if (!isdigit(*str)) {
return 0; // 遇到非数字字符,返回false
}
str++;
}
return 1; // 如果遍历完都没有遇到非数字字符,则为有效整数
}
阅读全文