我正在尝试编写matlab函数,当输入一个3位数时,它会对所述输入中的所有数字求和。
例如,如果输入为213,则输出应为6.如果输入为456,则输出应为15.该功能应适用于任何3位数字。
知道如何开始吗?
答案 0 :(得分:4)
尝试这样的事情。它通过减去每个数字等效的ASCII数字来使用技巧。好处是它只有一条线。
>> sum(num2str(213)-'0')
ans =
6
>> sum(num2str(456)-'0')
ans =
15
编辑:要使其成为一个功能,只需执行此操作
function out = sumTheDigits(in)
out = sum(num2str(in)-'0')
答案 1 :(得分:1)
您可以使用10的模数并保留一个计数器:
function total = sumDigits(number)
total = 0;
while(number > 0)
total = total + mod(number, 10);
number = floor(number / 10);
end
end