C++输入一个字符串,把其中的字符按照逆序输出的两种方法

用字符数组方法:

基本思路是,先判断字符的结束标志'\0',然后从该位置向前输出。

实现代码:

#include<iostream>
using namespace std;
int main(){
	char a[50];
	cout<<"please input a string:";
	cin>>a;
	int i=0,k=0;
	while(i<50){
        if(a[i]=='\0'){
        	k=i;
        	break;
        }
        i++;
	}
       cout<<"reverse order: ";
        for(;k>=0;k--){
		cout<<a[k];
	}
	cout<<endl;
	return 0;
	
} 

用string方法:

基本思路是,通过strlen()函数判断字符的长度,然后从数组该长度的位置输出。

实现代码:

#include<iostream>
#include<string>
using namespace std;
int main(){
	char a[50];
	cout<<"please input a string:";
	cin>>a;
	int k=0;
	k=strlen(a);
	cout<<"Reverse order: ";
	for(;k>=0;k--){
		cout<<a[k];
	}
	cout<<endl;
	return 0;
	
} 


相关信息

更多
  • 匿名
    2015-01-28匿名
    string reverse(const string& strSrc) { int length = strSrc.length(); char* newStr = new char[length + 1]; for (int i = 0; i < (length + 1) / 2; i++) { newStr[i] = strSrc[length - 1 - i]; newStr[length - 1- i] = strSrc[i]; } newStr[length + 1] = '\0'; return newStr; } int main() { string str; while (true) { cin >> str; if ("~" == str) { break; } cout << reverse(str) << endl; } return 0; }
  • 匿名
    2015-01-28匿名
    string reverse(const string& strSrc) { int length = strSrc.length(); char* newStr = new char[length + 1]; for (int i = 0; i < (length + 1) / 2; i++) { newStr[i] = strSrc[length - 1 - i]; newStr[length - 1- i] = strSrc[i]; } newStr[length + 1] = '\0'; return newStr; } int main() { string str; while (true) { cin >> str; if ("~" == str) { break; } cout << reverse(str) << endl; } return 0; }
  • 匿名
    2015-01-28匿名
    string reverse(const string& strSrc) { int length = strSrc.length(); char* newStr = new char[length + 1]; for (int i = 0; i < (length + 1) / 2; i++) { newStr[i] = strSrc[length - 1 - i]; newStr[length - 1- i] = strSrc[i]; } newStr[length + 1] = '\0'; return newStr; } int main() { string str; while (true) { cin >> str; if ("~" == str) { break; } cout << reverse(str) << endl; } return 0; }
  • 匿名
    2015-01-28匿名
    string reverse(const string& strSrc) { int length = strSrc.length(); char* newStr = new char[length + 1]; for (int i = 0; i < (length + 1) / 2; i++) { newStr[i] = strSrc[length - 1 - i]; newStr[length - 1- i] = strSrc[i]; } newStr[length + 1] = '\0'; return newStr; } int main() { string str; while (true) { cin >> str; if ("~" == str) { break; } cout << reverse(str) << endl; } return 0; }
  • 匿名
    2015-01-28匿名
    string reverse(const string& strSrc) { int length = strSrc.length(); char* newStr = new char[length + 1]; for (int i = 0; i < (length + 1) / 2; i++) { newStr[i] = strSrc[length - 1 - i]; newStr[length - 1- i] = strSrc[i]; } newStr[length + 1] = '\0'; return newStr; } int main() { string str; while (true) { cin >> str; if ("~" == str) { break; } cout << reverse(str) << endl; } return 0; }
您的回应...

相关话题

查看全部

也许你感兴趣

换一批

热门标签

更多