1.单词(字符串)翻转
1205 单词翻转
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 青铜 Bronze
题目描述 Description
给出一个英语句子,希望你把句子里的单词顺序都翻转过来
输入描述 Input Description
输入包括一个英语句子。
输出描述 Output Description
按单词的顺序把单词倒序输出
样例输入 Sample Input
I love you
you love I
数据范围及提示 Data Size & Hint
简单的字符串操作
[代码实现]#include <iostream>
using namespace std;
int main()
{
int i = 0;
char a[100][100]; /*用二维数组存放一个句子*/
while(cin>>a[i])i++; /*输入一个单词*/
while(i>=0) /*因为不是整个句子倒序,只要单词的顺序倒序就可以了*/
cout<<a[--i]<<" ";
cout<<endl;
return 0;
}
2.字符串逆序存储
一个比较少遇到的问题,但感觉做完这题思路有所启发,故把它记了下来
[问题描述]
写一个递归算法来实现字符串逆序存储,要求不另设串存储空间.
[代码实现] void InvertStore(char A[])
{
char ch;
static int i=0;
scanf("%c",&ch);
if(ch!='.') /*'.'位结束标志*/
{
InvertStore(A); /*递归调用直到遇到结束标志*/
A[i++]=ch; /*从顶往底存储*/
}
A[i]='\0'; /*字符串结束*/
}