wikioi 1205 单词倒排

简介: /*====================================================================== 1205 单词翻转 题目描述 Description 给出一个英语句子,希望你把句子里的单词顺序都翻转过来 输入描述 Input Description 输入包括一个英语句子。
/*======================================================================
1205 单词翻转
题目描述 Description
    给出一个英语句子,希望你把句子里的单词顺序都翻转过来
输入描述 Input Description
    输入包括一个英语句子。
输出描述 Output Description
    按单词的顺序把单词倒序输出
样例输入 Sample Input
    I love you
样例输出 Sample Output
    you love I
数据范围及提示 Data Size & Hint
    简单的字符串操作
    
解析:
注意:输入的字符串含空格,要用gets函数输入。 
这个题目可以先把整个字符串读入,然后对整个字符串进行翻转,然后再以空格为
分隔符将每一个单词再次翻转就OK了。(也可以不对单词进行翻转,把他们存到数组b再逆序输出即可。)

还可以输入字符串,然后从后面往前面搜索,以空格为分隔符把每一个单词输出
(这个是取巧,不是真正地完成工作,但比赛时只是检测输出结果,可以考虑使用。) 
========================================================================*/
#include<stdio.h>
#include<string.h>
int main()
{
    char a[500],temp,b[100];//a数组存贮整个句子,b存储某一个单词 
    int i,len,j,k;
    freopen("9.in","r",stdin);
    gets(a);
    len=strlen(a);
    for(i=0;i<len/2;i++)//对整个字符串进行翻转 
    {
        temp=a[i];
        a[i]=a[len-1-i];
        a[len-1-i]=temp;
    }
    //printf("\n%s\n",a);
    i=0;
    j=0;
    while(a[i]!='\0')
    {
        if(a[i]!=' ')
        {//扫描句子,遇到非空格字符则存到b数组 
            b[j]=a[i];
            j++;
        }
        else
        {//扫描句子时遇到空格,逆向输出b数组存贮的那个被逆序的单词 
            for(k=j-1;k>=0;k--)
            {
                printf("%c",b[k]);
            }
            printf(" ");
            j=0;
        }
        i++;
    }/**/
    for(k=j-1;k>=0;k--)//最后一个单词需要单独处理 
    {
        printf("%c",b[k]);
    }
    printf("\n");
    return 0;
}

 

相关文章
|
6月前
|
机器学习/深度学习 算法 测试技术
【组合数学 容斥原理 逆向思考】2930. 重新排列后包含指定子字符串的字符串数目
【组合数学 容斥原理 逆向思考】2930. 重新排列后包含指定子字符串的字符串数目
|
3月前
【刷题记录】数字颠倒、单词倒排
【刷题记录】数字颠倒、单词倒排
|
5月前
|
Python
每日一题 2047. 句子中的有效单词数
每日一题 2047. 句子中的有效单词数
|
6月前
每日一题(数字颠倒,单词倒排)
每日一题(数字颠倒,单词倒排)
34 1
|
6月前
|
自然语言处理
leetcode-720:词典中最长的单词
leetcode-720:词典中最长的单词
55 0
【每日挠头算法题(8)】最后一个单词的长度|重新排列字符串
【每日挠头算法题(8)】最后一个单词的长度|重新排列字符串
|
存储 容器
华为机试HJ31:单词倒排
华为机试HJ31:单词倒排
|
机器学习/深度学习 搜索推荐 开发工具
对数据进行模糊匹配搜索(动态规划、最长公共子串、最长公共子序列)
倘若要在一堆数据中对一个关键词进行匹配搜索,传统做法是把数据拆分开,然后遍历他们,看看是否包含这个关键词,对于 “fin” 和 “finish” 这样存在包含关系的单词来说是没问题的,但是对于 “fish” 和 “finish” 这样并不存在包含关系的单词就失效了,这时候期望计算出两个单词的相似性,比如 “fish” 和 “finish” 都包含 “ish”,“ish” 的长度是 3,我们可以理解相似性为 3。目前主流做法是通过最长公共子串来寻找两个或多个已知字符串最长的子串。
131 0
对数据进行模糊匹配搜索(动态规划、最长公共子串、最长公共子序列)
|
算法
字符矩阵内单词搜索
单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。
56 0
1185:单词排序
1185:单词排序
125 0