フィルターのクリア

print + sign in ans

1 回表示 (過去 30 日間)
Mubashir Ali
Mubashir Ali 2017 年 10 月 18 日
編集済み: Jan 2017 年 10 月 18 日
how to print ans like this: Result is: 1+2+3+4=10

回答 (2 件)

KSSV
KSSV 2017 年 10 月 18 日
str = '1+2+3+4=10' ;
fprintf('Result is:%s\n',str)
  5 件のコメント
Walter Roberson
Walter Roberson 2017 年 10 月 18 日
編集済み: Walter Roberson 2017 年 10 月 18 日
fprintf('%d+', m:n-1);
fprintf('%d = %d\n', n, TheTotal)
You definitely need to fix your vec array, whatever it is for. You are currently constructing a multidimensional array, such as zeros(2,3,4,5) for the case 2:5
Using 'sum' as the name of a variable is not recommended; it is quite common to try to use 'sum' as a variable name and then in the same code segment, try to call sum() as a function.
Jan
Jan 2017 年 10 月 18 日
編集済み: Jan 2017 年 10 月 18 日
@Mubashir Ali: We had multiple questions in the forum concerning the redefinition of "sum" as a variable:
% Hidden in another script:
sum = rand(1, 10);
...
sum(1:100) % Why is this not working?
So better avoid using names of built-in function as variables. Use e.g. "s" instead.

サインインしてコメントする。


Jan
Jan 2017 年 10 月 18 日
編集済み: Jan 2017 年 10 月 18 日
This is a homework question, but you have shown an almost working code already. I only clean it up a little bit:
m = input('from:');
n = input('to:');
if m>n
error('Invalid numbers'); % not DISP: Never proceed after an error!
end
% vec=zeros(m:n); % Neither needed, but better: vec = zeros(m-n, 1);
fprintf('result is:\n');
s = 0;
for i = m:n
s = s + i;
if i < n
fprintf('%d + ', i);
else % In the last iteration display the result also:
fprintf('%d = %d\n', i, s);
end
end

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by