/*==================================================
单词倒排
总时间限制: 1000ms 内存限制: 65536kB
描述
编写程序,读入一段英文(英文中不包含标点),
将所有单词的顺序倒排并输出,其中单词以空格分隔。 输入
输入为一个字符串(字符串长度最大为100)
输出
输出为按要求排续后的字符串
样例输入
I am a student
样例输出
student a am I 注:这个代码是覃宗华写的。
====================================================*/
 #include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
char a[] = {};
int n, i, j;
freopen("5.in","r",stdin);
while(gets(a))
{
n = strlen(a);
for(i=n-;i>=;i--)
{
if(a[i]==' ')
{
for(j=i+;a[j]!=' '&&a[j]!='\0';j++)
cout<< a[j];
cout<<" ";
}
}
for(i=;a[i]!=' '&&a[i]!='\0';i++)
cout<<a[i];
cout << endl;
}
return ;
}
 #include<stdio.h>
#include<string.h>
int main()
{
char a[],temp,b[];//a数组存贮整个句子,b存储某一个单词
int i,len,j,k;
gets(a);
len=strlen(a);
for(i=;i<len/;i++)//对整个字符串进行翻转
{
temp=a[i];
a[i]=a[len--i];
a[len--i]=temp;
}
//printf("\n%s\n",a);
i=;
j=;
while(a[i]!='\0')
{
if(a[i]!=' ')
{//扫描句子,遇到非空格字符则存到b数组
b[j]=a[i];
j++;
}
else
{//扫描句子时遇到空格,逆向输出b数组存贮的那个被逆序的单词
for(k=j-;k>=;k--)
{
printf("%c",b[k]);
}
printf(" ");
j=;
}
i++;
}/**/
for(k=j-;k>=;k--)//最后一个单词需要单独处理
{
printf("%c",b[k]);
}
printf("\n");
return ;
}

OpenJudge计算概论-单词倒排【把句子内单词的顺序翻转】的更多相关文章

  1. AC日记——单词倒排 1.7 28

    28:单词倒排 总时间限制:  1000ms 内存限制:  65536kB 描述 编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔. 输 ...

  2. OpenJudge计算概论-取石子游戏

    OpenJudge计算概论-取石子游戏[函数递归练习] /*====================================================================== ...

  3. Openjudge-计算概论(A)-单词倒排

    描述: 编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔. 输入输入为一个字符串(字符串长度至多为100).输出输出为按要求排续后的字符 ...

  4. OpenJudge计算概论-单词排序

    /*===================================== 单词排序 总时间限制:1000ms 内存限制: 65536kB 描述 输入一行单词序列,相邻单词之间由1个或多个空格间隔 ...

  5. OpenJudge计算概论-最长单词2

    /*======================================================================== 最长单词2 总时间限制: 1000ms 内存限制: ...

  6. 35:字符串单词倒排 ReverseWords

    题目描述:对字符串中的所有单词进行倒排. 说明: 1.每个单词是以26个大写或小写英文字母构成: 2.非构成单词的字符均视为单词间隔符: 3.要求倒排后的单词间隔符以一个空格表示:如果原字符串中相邻单 ...

  7. OJ_单词倒排

    题目描述:对字符串中的所有单词进行倒排. 说明: 1.每个单词是以26个大写或小写英文字母构成,可以用一个“-”中连接线连接单词两部分表示一个单词,但是仅限一个“-”,出现两个“--”则为非构成单词的 ...

  8. Openjudge计算概论——数组逆序重放【递归练习】

    /*===================================== 数组逆序重放 总时间限制:1000ms 内存限制:65536kB 描述 将一个数组中的值按逆序重新存放. 例如,原来的顺 ...

  9. OpenJudge计算概论-计算书费

    /*============================================== 计算书费 总时间限制: 1000ms 内存限制: 65536kB 描述 下面是一个图书的单价表: 计算 ...

随机推荐

  1. 转载:socket.io 入门

    原文链接:http://cnodejs.org/topic/50a1fcc7637ffa4155b5a264 我自己在用socket.io开发,对官方网站上的文档,进行简单的整理,然后自己写了一个简单 ...

  2. BZOJ 1486 最小圈

    二分答案是显然的,我们需要dfs版spfa判一下负环. 看起来是n^2其实很快. #include<iostream> #include<cstdio> #include< ...

  3. 64位Ubuntu下的Eclipse、ADT终于可以生成R.java了,虚机也可以正常建立

    64位Ubuntu12下的Eclipse总也不能自动生成R.java,导致无法正常编译程序,建虚拟器的时候总是提示少文件....三天下班机器没关(无奈公司网络不给力)来安装lib包. 各种加载,总结一 ...

  4. linux命令:cat

    1:命令介绍: cat用来打印标准输入或连接文件.tac是其相反命令,从最后一行开始打印. 2:命令格式: cat [选项] 文件 3:命令参数: -A, --show-all           等 ...

  5. Bash中的特殊字符

    # 表示注释 #! 指定当前脚本的解析器 #!/bin/bash echo "Hello World" ; 命令分隔符 #!/bin/bash echo hello;echo th ...

  6. Mac OS环境变量配置(Android Studio之Gradle)

    以gradle环境变量配置为例: Android Studio 自带的gradle路径为: /Applications/Android\ Studio.app/Contents/gradle/grad ...

  7. iOS log第三方库之间的对比

  8. Smart210学习记录-------文件操作

    一.linux文件操作(只能在linux系统上用) 创建:int creat(const char* filename, mode_t mode) filename 表示要创建的文件名,mode表示对 ...

  9. C# <%@ Register %>指令

    将别名与命名空间及类名关联起来,以便在自定义服务器控件语法中使用简明的表示法. <%@ register tagprefix="tagprefix" namespace=&q ...

  10. C++学习笔记1:高级语言

    笔记参考资料:http://www.learncpp.com/ 1.high languages:C,C++,Pascal,Java,Javascript,Perl... compiling proc ...