使用字母ABCD…OP,共16个字母来表示1、2、3..16,共16个数,则AA表示17,AB表示18,…BA表示33,以此类推。请设计一个程序,能够实现输入一个正整数,输出对应的字母表示,并计算数字4000,10000的字母值。
你好同学,代码供参考:
n = 4000; % 需要转换的数
s = [];
while(n~=0) % 得到16进制数
p = mod(n,16);
s = [p,s];
n=(n-p)/16;
end
% 得到下标s
for i = length(s):-1:2
if(s(i)==0)
s(i)=16;
s(i-1)=s(i-1)-1;
end
end
if(s(1)==0)
s(1)=[];
end
% 换算成字母表示
code = 'A':'P';
result = code(s) % 结果输出
几个例子
n=4000
result =
'OIP'
n=10000
result =
'BFPP'
n=33
result =
'BA'
有帮助还望给个采纳支持一下答主答题哟