急!c++程序:输入一个字符串,把其中的字符按逆序输出。要求采用string方法

2024-11-08 14:09:47
推荐回答(2个)
回答1:

这个是复制的,不过是从我之前给别人回答的问题里复制的:

#include "stdafx.h"
#include 
#include 
 
char* strrev2(char *str)
{
    char *tmp = new char[strlen(str) + 1];            // 需要+1,最后为'\0'
    tmp = tmp + strlen(str);            // 移动到最后一个字符
    *tmp = 0;         // 最后一个设置为0
    while(*str)
    {// 扫描到最后
        --tmp;
        *tmp = *str;
        ++str;
    }
    // 最后又跑到tmp开头哪里了
    return tmp;
}
 
int main()
{
    char bn[100];
    printf("输入字符串: ");
    scanf("%s", bn);
    char *rev = strrev2(bn);
    printf("反转后: %s\n", rev); 
    delete[] rev;
    getchar(); 
    return 0; 
}

回答2:

#include 
#include 
#include 
using namespace std;
int main()
{
    string a;
    cin>>a;
    reverse(a.begin(),a.end());
    cout<}

reverse是algorithm里的函数 传入2个iterator 逆转之间的元素