C++编程 编写字符串反转函数mystrrev

编写字符串反转函数mystrrev,该函数的功能为将指定字符串中的字符顺序颠倒排列。然后再编写主函数验证之。函数原型为voidmystrrev(charstring[])... 编写字符串反转函数mystrrev,该函数的功能为将指定字符串中的字符顺序颠倒排列。然后再编写主函数验证之。
函数原型为 void mystrrev(char string[])
输入格式:
一个字符串,不会超过100个字符长,中间可能包含空格
输出格式:
输入字符串的反转
展开
 我来答
White_MouseYBZ
2017-06-26 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6704万
展开全部

应用C++的string类对象实现。为体现一般性,对象中就允许空格出现;自定义逆序函数形参应使用引用类型,以便永久性改变对实参对象的操作。举例代码如下:

//#include "stdafx.h"//If the vc++6.0, with this line.
#include <string>
#include <iostream>
using namespace std;
void mystrrev(string &str){//引用形参,以改变实参
for(int j=str.length()-1,i=0;i<j;i++,j--){
char t=str[i];
str[i]=str[j],str[j]=t;
}
}
int main(int argc,char *argv[]){
string s;
char ch;
cout << "Input a string...\ns=";
while((ch=cin.get())!='\n')//输入可有空格
s+=ch;
cout << "The original string: " << s << endl;//逆序前
mystrrev(s);//调用自定义逆序函数
cout << "After reverse order: " << s << endl;//逆序后
return 0;
}

运行结果举例:

旅春冬TJ
2015-04-11 · TA获得超过1082个赞
知道大有可为答主
回答量:1271
采纳率:66%
帮助的人:509万
展开全部
/*
    Author:QCQ
    Date:2015-4-11
    e-mail:qinchuanqing918@163.com
 */
#include<iostream>
#include<stdio.h>
#include<cmath>
#include<string.h>
using namespace std;
void mystrrev(char str[]);
int main()
{
    char temp[30];
    while(gets(temp)){
        cout<<temp<<endl;
        mystrrev(temp);
        cout<<temp<<endl;
    }
    return 0;
}

void mystrrev(char str[]){
    char *pbegin = str;
    char *pend = str + strlen(str) - 1;
    while(pbegin < pend)
    {
        char tmp;
        tmp=*pbegin;
        *pbegin=*pend;
        *pend=tmp;
        ++pbegin;
        --pend;
    }
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
枫枫知道
2021-03-28 · 科技、人文、生活类知识分享
枫枫知道
采纳数:0 获赞数:8

向TA提问 私信TA
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式