编写一段程序,对输入内容进行加密,若输入字符串中有除了数字字母以外的其他字符要求重新输入。加密方式如下:①对输入的字符串中字母进行大小写转换;②将数字进行循环加4运算(1→5,8→2等);③对所有的字母进行循环加3运算(a→d,Z→C等)。部分内容用函数实现,函数要求写上帮助文档,即在命令窗口可以使用help命令查看该函数的功能。
你好,代码如下(有帮助还望题主给个宝贵的采纳支持一下)
主程序
clc;clear
while true
s = input('请输入需要加密的字符串:','s');
if(~all(ismember(s, ['0':'9','a':'z','A':'Z'])))
fprintf('字符串中含有除了数字字母以外的其他字符,请重新输入\n')
continue;
end
s1 = en_code(s);
break;
end
fprintf('加密后的字符串为:%s\n', s1)
函数程序:
function s1 = en_code(s)
%% 该函数用于对字符串进行加密:
% 输入字符串s,输出字符串s1
% 加密规则
% ①对输入的字符串中字母进行大小写转换;
% ②将数字进行循环加4运算(1→5,8→2等);
% ③对所有的字母进行循环加3运算(a→d,Z→C等)
s1 = s;
for i = 1:length(s)
if(s(i)>='0' && s(i)<='9')
p = mod(s(i)+4-'0', 10) + '0';
elseif(s(i)>='a' && s(i)<='z')
p = mod(s(i)+3-'a', 10) + 'a';
elseif(s(i)>='A' && s(i)<='Z')
p = mod(s(i)+3-'A', 10) + 'A';
end
s1(i) = char(p);
end
end
一些运行示例
示例1
请输入需要加密的字符串:abcdefABCDEFZ1237890
加密后的字符串为:defghiDEFGHII5671234
示例2
请输入需要加密的字符串:1234567;;;;ssss,,,kl
字符串中含有除了数字字母以外的其他字符,请重新输入
请输入需要加密的字符串:1234567890ABCDEFGXYZ
加密后的字符串为:5678901234DEFGHIJGHI
示例3
>> help en_code
该函数用于对字符串进行加密:
输入字符串s,输出字符串s1
加密规则
①对输入的字符串中字母进行大小写转换;
②将数字进行循环加4运算(1→5,8→2等);
③对所有的字母进行循环加3运算(a→d,Z→C等)