【题目描述】
输入一串以‘!’结束的字符,按逆序输出。
【输入】
如题述。
【输出】
如题述。
【输入样例】
abc!
【输出样例】
cba
#include<iostream>
using namespace std;
char ch[10000];
void com(int n){ //3.利用递归逆序输出
if(ch[n]!='!'){
com(n+1);
}
else{
return; //返回语句,从哪调用就返回到哪
}
cout<<ch[n];
}
int main(){
cin>>ch; //1.输入字符数组
com(0); //2.调用函数
}
解题思路
①定义一个字符数组,并且输入。
②调用函数com,将实参0传给形参n。
③利用递归进行逆序输出。
④当递归到感叹号的时候,就会返回语句,所以输出了三个字符。
总结:根据最后一行的返回情况来说,com(2)之后,ch[2]=c;com(1)之后,ch[1]=b;com(0)之后,ch[2]=a;所以,结果会打印cba