Programming Ability Test学习 1009. 说反话 (20)

1009. 说反话 (20)

时间限制

400 ms

内存限制

65536 kB

代码长度限制

8000 B

判题程序

Standard

作者

CHEN, Yue

给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。

输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。

输出格式:每个测试用例的输出占一行,输出倒序后的句子。

输入样例:

Hello World Here I Come

输出样例:

Come I Here World Hello


提交代码

注:用链表头插法实现

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<string>
#include<algorithm>
#define MAXSIZE 100005
using namespace std;

//结点结构
typedef struct Node
{
    char s[100];
    struct Node *Next;
}node; 

//链表结构,每条链表有一个头结点和一个尾结点
typedef struct Link
{
    node *head;
}link;

//创建一个新链表
link *CreateNewLink(link *tLink)
{
    tLink->head=(node*)malloc(sizeof(node));
    tLink->head->Next=NULL;
    return tLink;
} 

//输入s,生成链表,头插法
void putNewLink(link *tLink,char *s)
{
    node *newPoint=(node*)malloc(sizeof(node));
    strcpy(newPoint->s,s);
    newPoint->Next=tLink->head->Next;
    tLink->head->Next=newPoint;
} 

//直接头结点后一个结点开始遍历即可,顺序已反
void ReadLink(link *tLink)
{
    node* pthis=tLink->head->Next;
    while(pthis!=NULL)
    {
        cout<<pthis->s;
        if(pthis->Next==NULL)cout<<endl;
        else cout<<" ";
        pthis=pthis->Next;
    }
} 

int main()
{
    link *newLink=(link*)malloc(sizeof(link));
    newLink=CreateNewLink(newLink);
    char s[MAXSIZE];
    char ss[100];
    memset(s,0,sizeof(s));
    memset(ss,0,sizeof(ss));
    gets(s);
    int i=0,j=0;
    while(s[i]!=‘\0‘&&s[i]!=‘ ‘)
    {
        ss[j++]=s[i];
        //遇到空格
        if(s[i+1]==‘ ‘&&s[i+2]!=‘ ‘){
        putNewLink(newLink,ss);
        memset(ss,0,sizeof(ss));
        j=0;
        i+=2;
        }
        //遇到串尾
        else if(s[i+1]==‘\0‘)
        {
            putNewLink(newLink,ss);
            break;
        }
        else i++;
    }
      ReadLink(newLink);
    //cout<<newLink->head->Next->s<<endl;
    //puts(s);

    return 0;
} 

时间: 2024-10-28 20:50:38

Programming Ability Test学习 1009. 说反话 (20)的相关文章

Programming Ability Test学习 1029. 旧键盘(20)

1029. 旧键盘(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及实际被输入的文字,请你列出肯定坏掉的那些键. 输入格式: 输入在2行中分别给出应该输入的文字.以及实际被输入的文字.每段文字是不超过80个字符的串,由字母A-Z(包括大.小写).数字0-9.以及下划线“_”(代表空格)组成.题目保证2个字符

Programming Ability Test学习 1004. 成绩排名 (20)

1004. 成绩排名 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 读入n名学生的姓名.学号.成绩,分别输出成绩最高和成绩最低学生的姓名和学号. 输入格式:每个测试输入包含1个测试用例,格式为 第1行:正整数n 第2行:第1个学生的姓名 学号 成绩 第3行:第2个学生的姓名 学号 成绩 ... ... ... 第n+1行:第n个学生的姓名 学号 成绩 其中姓名和学号均为不超过10个字符的字符串,成绩

PAT 乙级 1009 说反话 (20) C++版

1009. 说反话 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串.字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格. 输出格式:每个测试用例的输出占一行,输出倒序后的句子. 输入

1009 说反话 (20 分)

给定?一句句英语,要求你编写程序,将句句中所有单词的顺序颠倒输出. 输?入格式: 测试输?入包含?一个测试?用例例,在?一?行行内给出总?长度不不超过80的字符串串.字符串串由若?干单词和若?干空格 组成,其中单词是由英?文字?母(?大?小写有区分)组成的字符串串,单词之间?用1个空格分开,输?入保证句句 ?子末尾没有多余的空格. 输出格式: 每个测试?用例例的输出占?一?行行,输出倒序后的句句?子. 输?入样例例: Hello World Here I Come 输出样例例: Come I H

Programming Ability Test学习 1033. 旧键盘打字(20)

1033. 旧键盘打字(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在2行中分别给出坏掉的那些键.以及应该输入的文字.其中对应英文字母的坏键以大写给出:每段文字是不超过105个字符的串.可用的字符包括字母[a-z, A-Z].数字0-9.以及下划线

Programming Ability Test学习 1008. Elevator (20)

1008. Elevator (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue The highest building in our city has only one elevator. A request list is made up with N positive numbers. The numbers denote at which floors the elevator will st

Programming Ability Test学习 1017. A除以B (20)

1017. A除以B (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数.你需要输出商数Q和余数R,使得A = B * Q + R成立. 输入格式: 输入在1行中依次给出A和B,中间以1空格分隔. 输出格式: 在1行中依次输出Q和R,中间以1空格分隔. 输入样例: 123456789050987654321 7 输出样例: 176366

Programming Ability Test学习 07-0. 写出这个数 (20)

07-0. 写出这个数 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10100. 输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格. 输入样例: 123456789098765432112345678

Programming Ability Test学习 1037. 在霍格沃茨找零钱(20)

1037. 在霍格沃茨找零钱(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易.”现在,给定哈利应付的价钱P和他实付的钱A,你的任务是写一个程序来计算他应该被找的零钱. 输入格式: 输入在1行中分别给出P和A,格式为“G