Enter a string and print it backwards
Afficher commentaires plus anciens
Hi.
I'm having a problem with how do I print the string backwards.
Here is my code.
string = input("Please enter a phase: ",'s');
converted_string = []; % Empty phase
for i = length(string):1 % from end to begin
converted_string = [converted_string,string(i)];
end
fprintf("%s converts to %s",string,converted_string);
Expected result: Please enter a phase: There are 18 apples
'There are 18 apples' converts to 'selppa 81 era erehT'
My code result: Please enter a phase: There are 18 apples
There are 18 apples converts to
The first question is that how to add symbol ' on the string?
The second question is that why the result did not have reverse string here?
Thank you all.
3 commentaires
Q1: single quotes must be escaped by duplicating them: 'this is escaped ''.'
Q2: Consider the order of these: [converted_string,string(i)]; Using your example: after the 1st iteration, converted_string consists of 'T', after the 2nd iteration it consists of 'Th'... Think about that concatenation.
str = 'MATLAB' ;
s = [] ;
n = length(str) ;
for i = n:-1:1
s = [s str(i)];
end
s
Shuoze Xu
le 5 Juil 2022
Réponses (1)
str = 'MATLAB' ;
% Option 1
flip(str)
% option 2
str(end:-1:1)
For printing, you can use fprintf
fprintf('%s\n',str)
2 commentaires
KSSV
le 5 Juil 2022
You may skip that conversion.
old_char = input("Please enter a phase: ",'s');
new_char = [];
for i = 1:length(old_char)
new_char = [new_char,old_char(end-i+1)];
end
fprintf("'%s' converts to '%s'\n",old_char,new_char);
Catégories
En savoir plus sur Operations on Strings dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!