程序设计一个电话号码加密程序,输入电话号码,可以对其最后4位数按照倒序重新排列。用自己的电话号码验证程序的有效性
时间: 2024-10-22 19:16:19 浏览: 10
为了创建一个简单的电话号码加密程序,我们可以编写一个Python函数,它接受一个电话号码字符串作为输入,然后对最后一个四位数字进行反转。这里是一个示例代码:
```python
def encrypt_phone_number(phone_number):
# 分割电话号码为两部分:前八位和后四位
prefix = phone_number[:8]
last_four_digits = phone_number[-1]
# 重新组合并返回加密后的电话号码
encrypted_phone = prefix + encrypted_last_four
return encrypted_phone
# 测试该函数,假设你的电话号码是 "1234567890"
your_phone = "1234567890"
encrypted_your_phone = encrypt_phone_number(your_phone)
print(f"原始电话号码: {your_phone}")
print(f"加密后的电话号码: {encrypted_your_phone}")
相关问题
用c语言程序设计一个电话号码加密程序,输入电话号码,可以对其最后4位数按照倒序重新排列。用自己的电话号码验证程序的有效性
为了编写一个简单的C语言程序,你可以采用以下步骤:
```c
#include <stdio.h>
#include <string.h>
// 函数用于加密电话号码的最后四位数字
void encrypt_phone_number(char phone[], int length) {
if (length >= 4) {
char temp[length - 3];
strncpy(temp, phone + length - 4, 4);
// 将最后四个数字倒序
for (int i = 0; i < 4 / 2; i++) {
char temp1 = temp[i];
temp[i] = temp[3 - i];
temp[3 - i] = temp1;
}
// 将处理后的数字拼接到原始号码前面
memmove(phone + length - 4, temp, 4);
} else {
printf("电话号码长度不足,无法加密。\n");
}
}
int main() {
char phone_number[15]; // 假设最多15位电话号码,包括区号
printf("请输入您的电话号码(前几位数字已省略):");
fgets(phone_number, sizeof(phone_number), stdin); // 输入电话号码并忽略换行符
// 移除末尾的换行符
phone_number[strlen(phone_number) - 1] = '\0';
int length = strlen(phone_number);
encrypt_phone_number(phone_number, length);
printf("加密后的电话号码是:%s\n", phone_number);
// 测试加密是否正确,这里假设我的电话号码为123456789012,后四位是1234
if (strcmp(phone_number + length - 4, "1234") == 0) {
printf("验证成功!\n");
} else {
printf("验证失败!\n");
}
return 0;
}
```
在这个程序中,我们首先定义了一个函数`encrypt_phone_number`来加密电话号码的最后四位,然后在`main`函数中获取用户的输入,并应用这个函数。最后检查加密结果是否符合预期。
运行此程序时,请自行替换为实际电话号码的前缀部分进行测试。
用C语言设计一个电话号码加密程序,输入电话号码,可以对其最后4位数按照倒序重新排 列。用自己的电话号码验证程序的有效性(考虑不同数据类型的取值范围)。
在C语言中设计一个简单的电话号码加密程序,你可以创建一个函数来接收用户输入的电话号码字符串,然后对最后一个四位数字进行倒序处理。下面是一个基本的示例代码:
```c
#include <stdio.h>
#include <string.h>
// 函数用于加密电话号码的最后四位
void encrypt_phone_number(char phone[], int len) {
// 检查电话号码是否至少有七位数字
if (len < 7) {
printf("Invalid phone number. It should have at least seven digits.\n");
return;
}
// 提取并复制最后四位数字到一个新的数组
char last_four[5] = {phone[len - 4], phone[len - 3], phone[len - 2], phone[len - 1], '\0'};
int i;
// 倒序排列这四个数字
for (i = 0; i < 3; ++i) {
char temp = last_four[i];
last_four[i] = last_four[i + 1];
last_four[i + 1] = temp;
}
// 将排序后的四位数字拼回到原电话号码的末尾
phone[len - 4] = last_four[0];
phone[len - 3] = last_four[1];
phone[len - 2] = last_four[2];
}
int main() {
char phone_number[12]; // 假设最大电话号码长度为11位(含区号)
printf("Enter your phone number: ");
fgets(phone_number, sizeof(phone_number), stdin); // 防止换行符
// 删除fgets添加的换行符
phone_number[strlen(phone_number) - 1] = '\0';
// 获取电话号码的长度
int len = strlen(phone_number);
// 加密电话号码
encrypt_phone_number(phone_number, len);
printf("Encrypted phone number: %s\n", phone_number);
// 使用你的电话号码测试,这里用`1234567890123`为例
// 你需要替换为实际的电话号码
char test_phone_number[] = "1234567890123";
encrypt_phone_number(test_phone_number, strlen(test_phone_number));
printf("Test with example number: %s\n", test_phone_number);
return 0;
}
```
阅读全文