句子以单词为单位逆序
2015-06-15 21:55
309 查看
/*所有单词之间用一个空格隔开,句中除了英文字母,不再包含其他
e.g. Input: i am a girl
Output: girl a am i
*/
#include<iostream>
#include<cstring>
using namespace std;
char* Inversion(char* s,char* st_output,int len);//功能函数
int main()
{
char s[100];
cin.getline(s,100);
int len=strlen(s);
char st_output[len];
Inversion(s,st_output,len);
cout<<"Befor inversion: "<<s<<endl;
cout<<"After inversion: "<<st_output<<endl;
return 0;
}
char* Inversion(char* s,char* st_output,int len)
{
int j=0;
char st_tmp[len];
for(int i=len-1;i>=0;i--)
st_tmp[j++]=s[i];
st_tmp[j]='\0';
// cout<<st_tmp<<endl;
int tmp=0,k;
for(int i=0;i<=len;i++)
{
if(st_tmp[i]==' '||st_tmp[i]=='\0')
{
j=i-1;
for(k=tmp;k<i;k++)
st_output[k]=st_tmp[j--];
st_output[k]=' ';
tmp=k+1;
}
}
st_output[len]='\0';
return st_output;
}
e.g. Input: i am a girl
Output: girl a am i
*/
#include<iostream>
#include<cstring>
using namespace std;
char* Inversion(char* s,char* st_output,int len);//功能函数
int main()
{
char s[100];
cin.getline(s,100);
int len=strlen(s);
char st_output[len];
Inversion(s,st_output,len);
cout<<"Befor inversion: "<<s<<endl;
cout<<"After inversion: "<<st_output<<endl;
return 0;
}
char* Inversion(char* s,char* st_output,int len)
{
int j=0;
char st_tmp[len];
for(int i=len-1;i>=0;i--)
st_tmp[j++]=s[i];
st_tmp[j]='\0';
// cout<<st_tmp<<endl;
int tmp=0,k;
for(int i=0;i<=len;i++)
{
if(st_tmp[i]==' '||st_tmp[i]=='\0')
{
j=i-1;
for(k=tmp;k<i;k++)
st_output[k]=st_tmp[j--];
st_output[k]=' ';
tmp=k+1;
}
}
st_output[len]='\0';
return st_output;
}
相关文章推荐
- 打磨程序员的专属利器——文本
- 网页嵌入腾讯视频方式
- CentOS7下安装coreseek
- Java面向对象 多态-向上转型
- 链队列
- Single Number
- 忍——做事的理智行为
- 剑指Offer--面试题17:合并两个排序的链表--Java实现
- Looksery Cup 2015 A. Face Detection
- ubuntu下使用codeblocks
- iOS方法类:CGAffineTransform的使用大概
- 【jQuery】鼠标接触按钮后改变图片
- Macbook下Android studio的butterknife的应用
- 【一步一步的积累】SuperPixel
- 在Entity Framework 7中进行数据迁移
- 【C语言】指针是一个变量
- MySQL按照汉字拼音字母排序
- Git配置笔记
- MySQL按照汉字拼音字母排序
- MySQL按照汉字拼音字母排序