如何在MATLAB中按指定格式输出除数求和结果?
解决方案
你可以通过以下步骤实现目标输出格式:
- 先获取除数数组并存储,避免重复调用
divisors函数 - 将除数数组拼接成
a+b+c+...格式的字符串 - 用格式化输出函数生成指定格式的结果
代码示例(MATLAB R2016b及以上版本)
N = input('N='); divs = divisors(N); sum_divs = sum(divs); % 将除数转为字符串并以'+'连接 div_str = strjoin(string(divs), '+'); % 格式化输出目标内容 fprintf('("result of %s=%d")\n', div_str, sum_divs);
兼容旧版本MATLAB的写法
如果你的MATLAB版本不支持string或strjoin,可以用正则替换实现字符串拼接:
N = input('N='); divs = divisors(N); sum_divs = sum(divs); % 将数字数组转为空格分隔的字符串,再替换空格为'+' div_str = regexprep(num2str(divs), '\s+', '+'); fprintf('("result of %s=%d")\n', div_str, sum_divs);
输入6时,两种写法都会输出:
("result of 1+2+3+6=12")
内容的提问来源于stack exchange,提问作者namkellbi
相关产品推荐
相关产品推荐

