程序要求用户输入一系列字符串(他们的名字和一个 8 个字母的单词),打印他们的名字,单词的第一个和最后三个字母,然后向后打印他们的单词。需要帮助 for 循环向后显示字符串。

    #include <iostream>

int main () {


string FirstName;

string LastName;

string MiddleName;

string Names;

string string1;

int len;

int x;

 cout << "Hello. What is your first name?" << endl;

 cin >> FirstName;

 cout << FirstName  << ", what is your last name?" << endl;

 cin >> LastName;

 cout << "And your middle name?" << endl;

 cin >> MiddleName;

 Names = LastName + ", " + FirstName + ", " + MiddleName;

 cout << Names << endl;

 cout << "Please enter a word with 8 or more characters (no spaces): " << endl;

 cin >> string1;

 len = string1.length();

   if (len < 8){
     cout << "Error. Please enter a word with 8 or more characters and no spaces: " <<    endl;

     cin >> string1;
 }

  else if (len >= 8){

     cout << "The word you entered has " << string1.length() << " characters."<<endl;

 cout << "The first three characters are " << string1.substr(0,3) << endl;

 cout << "The last three characters are " <<string1.substr(string1.length()-3,3) << endl;

x = string1.length()-1;

for (x = string1.length()-1; x >=0; x--){
 cout << "Your word backwards: " << string1[x];
}
}



return 0;
}

最佳答案

你快到了:

cout << "Your word backwards: ";
for (x = string1.length()-1; x >=0; x--){
   cout << string1[x];
}

这样,循环将以相反的顺序打印 string1 中的每个字符,并且文本 "Your word backwards: " 仅打印一次。

关于c++ - 循环向后打印字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13185736/

10-11 04:25
查看更多