程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> ZOJ1151——Word Reversal

ZOJ1151——Word Reversal

編輯:C++入門知識


For each list of words, output a line with each word reversed without changing   the order of the words.


This problem contains multiple test cases!

The first line of a multiple input is an integer N, then a blank line followed   by N input blocks. Each input block is in the format indicated in the problem   description. There is a blank line between input blocks.

The output format consists of N output blocks. There is a blank line between   output blocks.


Input

You will be given a number of test cases. The first line contains a positive   integer indicating the number of cases to follow. Each case is given on a line   containing a list of words separated by one space, and each word contains only   uppercase and lowercase letters.


Output

For each test case, print the output on one line.


Sample Input

1

3
  I am happy today
  To be or not to be
  I want to win the practice contest


Sample Output

I ma yppah yadot
  oT eb ro ton ot eb
  I tnaw ot niw eht ecitcarp tsetnoc

分析:

個人感覺用棧的知識比較好。。。

今天又溫習了一下以前的知識、感覺以前的知識忘了許多,但現在復習一下、記得會很快、而且會運用了。

源碼:

 

 
#include<stdio.h>   
#include<algorithm>   
#include<iostream>   
#include<stack>   
#include<string.h>   
using namespace std;  
stack<char>z;  
int main()  
{  
    int k;  
    int n;  
    char a[999];  
    scanf("%d",&k);  
    while(k--)  
    {  
        scanf("%d",&n);  
        getchar();  
        while(n--)  
        {  
            gets(a);  
            int l=strlen(a);  
            int i=0;  
            while(1)  
            {  
                while(a[i]!=' '&&i<l)  
                {  
                    z.push(a[i]);  
                    i++;  
                }  
                while(!z.empty())  
                {  
                    printf("%c",z.top());  
                    z.pop();  
                }  
                if(i!=l)  
                {  
                    printf(" ");  
                    i++;  
                }  
                else break;  
            }  
            printf("\n");  
        }  
        if(k)  
            printf("\n");  
    }  
    return 0;  
}  

#include<stdio.h>
#include<algorithm>
#include<iostream>
#include<stack>
#include<string.h>
using namespace std;
stack<char>z;
int main()
{
    int k;
    int n;
    char a[999];
    scanf("%d",&k);
    while(k--)
    {
        scanf("%d",&n);
        getchar();
        while(n--)
        {
            gets(a);
            int l=strlen(a);
            int i=0;
            while(1)
            {
                while(a[i]!=' '&&i<l)
                {
                    z.push(a[i]);
                    i++;
                }
                while(!z.empty())
                {
                    printf("%c",z.top());
                    z.pop();
                }
                if(i!=l)
                {
                    printf(" ");
                    i++;
                }
                else break;
            }
            printf("\n");
        }
        if(k)
            printf("\n");
    }
    return 0;
}



 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved