猿问

C++基础递归调用编程问题

一道OpenJudge上的题,
我的问题是:这虽然是道递归调用题,可是我的代码好像并没有使用递归调用的方法,不知道如果要使用递归调用的话该是怎么样的用什么样的方式?
我的代码:
#include
#include
usingnamespacestd;
intchangeCharOrder(chartable[]){
inti=0,j,k;
char*sptr=table;//设置一个指针sptr获取table
charreversed[500];//设置一个用于存储翻转的字符数组
strcpy(reversed,sptr);
while(sptr[i]){//挨个判断sptr内容到末尾
while(sptr[i]>0&&sptr[i]<='')//遇到空格i补1.
i++;
j=i;//j在这里存放i//所以在这第一次hello过的时候j从0开始,i=0
while(sptr[j]>'')//统计单词长度(从i到j)
j++;
k=j;//存储单词结尾j.
while(ireversed[i++]=sptr[--k];//i++使i作为下一个单词起始位置
}
cout<return0;
}
intmain(){
charc[500]={'\0'};
cin.getline(c,500);
changeCharOrder(c);
return0;
}
具体题目:
输入一个句子(一行),将句子中的每一个单词翻转后输出。
输入:
只有一行,为一个字符串,不超过500个字符。单词之间以空格隔开。
输出:
翻转每一个单词后的字符串,单词之间的空格需与原文一致。
样例输入
helloworld
样例输出
ollehdlrow
临摹微笑
浏览 332回答 2
2回答

叮当猫咪

voidchangeCharOrder(char*str){//printwhitespacewhile(*str&&*str=='')putchar(*str++);if(!(*str))return;//printthereversedwordchar*next=str;while(*next&&*next!='')next++;char*end=next-1;while(end!=str-1)putchar(*end--);//handlenextwordchangeCharOrder(next);}

汪汪一只猫

不高兴开C++编辑器。。python:defchange_order(words):iflen(words)is1:returnwordsreturnchange_order(words[1:])+words[0]文字描述:翻转函数(文字){若文字长度为1{返回这个长度为1的文字本身}否则{返回翻转函数(文字的第2~末尾字符组成的文字)和文字的第一个字符串联起来的文字}}单词就这么干吧,先分割单词然后再一个个翻转
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答