编写一段程序,对输入内容进行加密,若输入字符串中有除了数字字母以外的其他字符要求重新输入。加密方式如下:①对输入的字符串中字母进行大小写转换;②将数字进行循环加4运算(1→5,8→2等);③对所有的字母进行循环加3运算(a→d,Z→C等)。部分内容用函数实现,函数要求写上帮助文档,即在命令窗口可以使用help命令查看该函数的功能。
1条回答 默认 最新
- 技术专家团-Joel 2021-11-26 11:58关注
你好,代码如下(有帮助还望题主给个宝贵的采纳支持一下)
主程序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等)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 3无用