HDU--1062:Text Reverse (字符串)

来源:互联网 发布:无线游戏键盘推荐知乎 编辑:程序博客网 时间:2024/06/08 00:02

1. 题目源地址:http://acm.hdu.edu.cn/showproblem.php?pid=1062

2. 解题思路:

      这道题算是字符串中的水题,题意很简单,输入一行字符串,每个单词按照逆序输出。很容易想到利用空格来控制输出。

3. 解题代码:

//HOJ--1062:Text Reverse#include<iostream>#include<string.h>#include<stdio.h>using namespace std;int main(){    int caseNum;    char str[1005];    int len,i,j,start,end,sum;        cin>>caseNum;    getchar();    while(caseNum--)    {       gets(str);       len=strlen(str);              //计算出一共有多少个空格       sum=0;       for(i=0;i<len;i++)       {          if(str[i]==' ')             sum++;       }            if(sum==0)//如果空格数等于0        {          for(i=len-1;i>=0;i--)             cout<<str[i];          cout<<endl;       }       else//如果空格数不等于0        {           int s=0;//记录当前遇到的空格数            start=0;           for(i=0;i<len;i++)           {              if(str[i]==' ')              {                 s++;                 end=i;                 for(j=end-1;j>=start;j--)                    cout<<str[j];                 cout<<" ";                                  start=i+1;                                     if(s==sum)//遇完最后一个空格后,剩余的倒序输出                  {                     for(j=len-1;j>=start;j--)                        cout<<str[j];                     cout<<endl;                 }                                 } //if                      }//for       }//else   }//while    return 0;} 


0 0
原创粉丝点击