您的位置:首页 > 其它

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

2014-09-02 09:18 465 查看
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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: