请你设计一个电话号码程序:它可以接收用户输入的11位电话号码字符串(假设输入已经符合要求,因此不进行输入验证),并按照指定的加密规则对电话号码进行加密,然后输出加密后的虚拟号码。加密规则是:电话号码的前3位数字不变,从第4位开始,每一位数字的ASCII码值加上一个固定的偏移量5,如果加密后的ASCII码值超过了'9'的ASCII码值,则通过取模操作将其转换回0-9的数字范围内。说明:数字字符和数值之间的转换可以通过'0'实现。例如:'3'-'0'可以得到3,'0'+5可以得到'5'。
输入格式:
输入为一个11位电话号码,保证电话号码是11位数字字符组成的字符串,不需要程序做合法校验。
输出格式:
输出11位的虚拟号码字符串。
输入样例:
请输入一个11位的电话号码(假设输入符合要求):
15638231106
输出样例:
加密后的虚拟号码是:
15683786651
#include<stdio.h>
int main()
{
char phone[12]; // 数组大小为12,因为需要存储末尾的'\0'字符
int i;
printf("请输入一个11位的电话号码(假设输入符合要求):\n");
scanf("%s", phone);
// 加密处理
for (i = 4; i < =11; i++) {
int original_digit = phone[i] - '0'; // 将字符转换为对应的数字
int encrypted_digit = (original_digit + 5) % 10; // 加密规则:加5后取模10
phone[i] = '0' + encrypted_digit; // 将加密后的数字转换回字符
}
// 输出加密后的电话号码
printf("加密后的虚拟号码是:\n%s\n", phone);
return 0;
}
标签:11,加密,int,C语言,phone,电话号码,加密器,输入
From: https://blog.csdn.net/qq_71423518/article/details/145108022