关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回

hdu1062

发布时间:2022-07-27 13:55:56

Text Reverse

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 11201    Accepted Submission(s): 427
hdu1062
Problem Description Ignatius likes to write words in reverse way. Given a single line of text which is written by Ignatius, you should reverse all the words and then output them.
  Input The input contains several test cases. The first line of the input is a single integer T which is the number of test cases. T test cases follow.
Each test case contains a single line with several words. There will be at most 1000 characters in a line.   Output For each test case, you should output the text which is processed.   Sample Input 3 olleh !dlrow m'I morf .udh I ekil .mca   Sample Output hello world! I'm from hdu. I like acm. Hint Remember to use getchar() to read ' ' after the interger T, then you may use gets() to read a line and process it.  
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4. char str[1001];
  5. int main()
  6. {  
  7.  int i, len, n, j;  
  8.  scanf("%d", &n);   
  9.  getchar();  
  10.  while (n --)  
  11.  {       
  12.   gets(str);
  13.   len = strlen(str);   
  14.   for (i = 0; i < len; ++i)
  15.   {          
  16.    if (str[i]== ' ')    
  17.    {              
  18.     j = i - 1;          
  19.     while (str[j] != ' '&&j >=0)  
  20.     {                
  21.      printf("%c", str[j]);   
  22.      j --;           
  23.     }              
  24.     printf(" ");       
  25.    }          
  26.    else if (i == len - 1)      
  27.    {            
  28.     j = i;      
  29.     while (str[j] != ' '&&j >=0)       
  30.     {               
  31.      printf("%c", str[j]);       
  32.      j --;         
  33.     }        
  34.    }     
  35.   }     
  36.   printf(" ");  
  37.  } 
  38.  return 0;
  39. }     
       

/template/Home/DawnNew/PC/Static

立即注册风纳云账号,免费体验多款产品

立即注册