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

描述:

编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔。

输入输入为一个字符串(字符串长度至多为100)。输出输出为按要求排续后的字符串。

样例输入

I am a student

样例输出

student a am I思路:首先把字符串先反转,从前往后扫,遇到空格处理一下单词,要特别注意:最后一个单词不同于其他单词,要单独处理!代码如下(本代码来自我的老师:http://www.cnblogs.com/huashanqingzhu/p/3500465.html):
#include<stdio.h>
#include<string.h>//记得调用库函数哦
int main()
{
    char a[500],temp,b[100];//a数组存贮整个句子,b存储某一个单词
    int i,len,j,k;
    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;
    }
    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;
}
 
时间: 2024-12-25 02:32:15

Openjudge-计算概论(A)-单词倒排的相关文章

28:单词倒排

28:单词倒排 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔. 输入 输入为一个字符串(字符串长度至多为100). 输出 输出为按要求排序后的字符串. 样例输入 I am a student 样例输出 student a am I #include<iostream> #include<cstring> #include<

OJ_单词倒排

题目描述:对字符串中的所有单词进行倒排. 说明: 1.每个单词是以26个大写或小写英文字母构成,可以用一个"-"中连接线连接单词两部分表示一个单词,但是仅限一个"-",出现两个"--"则为非构成单词的字符: 2.非构成单词的字符均视为单词间隔符: 3.要求倒排后的单词间隔符以一个空格表示:如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符: 4.每个单词最长20个字母: 5.输出字符串,否则输出-1. 样例输入: i*&

单词倒排

总时间限制:  1000ms 内存限制:  65536kB 描述 编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔. 输入 输入为一个字符串(字符串长度至多为100). 输出 输出为按要求排序后的字符串. 样例输入 I am a student 样例输出 student a am I 代碼實現: 1 #include<iostream> 2 using namespace std; 3 int n; 4 char word[100

35:字符串单词倒排 ReverseWords

题目描述:对字符串中的所有单词进行倒排. 说明: 1.每个单词是以26个大写或小写英文字母构成: 2.非构成单词的字符均视为单词间隔符: 3.要求倒排后的单词间隔符以一个空格表示:如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符: 4.每个单词最长20个字母: 输入描述:输入一行以空格来分隔的句子 输出描述:输出句子的逆序 输入例子:I am a student 输出例子:student a am I 注意: 非构成单词的字符均视为单词间隔符-->split("

华为OJ——单词倒排

题目描述 对字符串中的所有单词进行倒排. 说明: 1.每个单词是以26个大写或小写英文字母构成: 2.非构成单词的字符均视为单词间隔符: 3.要求倒排后的单词间隔符以一个空格表示:如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符: 4.每个单词最长20个字母: 输入描述: 输入一行以空格来分隔的句子 输出描述: 输出句子的逆序 输入例子: I am a student 输出例子: student a am I 方法一: import java.util.*; publ

【北大先修课】计算概论(A)题库全代码

题目很水就是全都是坑真是丧心病狂啊 把代码留下造福后来人QωQ 结构体与链表练习 生日相同2.0 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #define MAXN 200 using namespace std; struct st { int m,d; string name; bool operator&

GPU方法做倒排压缩和交集计算

之前一直想读这篇,今天读了一下,颇有收获: 1.对文档按相似term聚类之后,delta较小,可以提高压缩率(similarity graph) 1.GPU一般可以有几百个核,有shared memory和global memory,shared memory相当于寄存器的速度,global memory速度较慢 2.有序数组上的搜索算法除了binary search还有interplation search(插值搜索),平均复杂度是O(loglogn),但memory access是binar

Python 单词字母顺序不变且全部倒排

翻出google测试工程师的一道题目: 设计一个函数,任何语言都可以,实现以下功能: 一个句子,将句子中的单词全部倒排过来,但单词的字母顺序不变.eg.  this is a real world输出结果为:world real a is this 笔者用Python实现如下: #! /usr/bin/env python # -* -coding:utf-8-*- def str_reverse(str): str_dst =str.split()[A1] str_dst.reverse()[

关于信息检索-倒排文件系统架构解析

信息检索 信息检索我们常见的模型包括: bool model static langulage model vector space model 这里面主要涉及到的问题就是:query expresion,term correlation analysis,similarity computing,feature selection.那么对于similarity computing 阶段,主要的制约条件是内存限制,所以我们要改进term在document中的搜索时间,从而减少similarity