一道OpenJudge上的题,我的问题是:这虽然是道递归调用题,可是我的代码好像并没有使用递归调用的方法,不知道如果要使用递归调用的话该是怎么样的用什么样的方式?我的代码:#include #include usingnamespacestd;intchangeCharOrder(chartable[]){inti=0,j,k;char*sptr=table;//设置一个指针sptr获取tablecharreversed[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=0while(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
叮当猫咪
汪汪一只猫
相关分类