HDU–1062:Text Reverse (字符串)

不管现实多么惨不忍睹,都要持之以恒地相信,这只是黎明前短暂的黑暗而已。不要惶恐眼前的难关迈不过去,不要担心此刻的付出没有回报,别再花时间等待天降好运。真诚做人,努力做事!你想要的,岁月都会给你。HDU–1062:Text Reverse (字符串),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

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;
} 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/163017.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!