被分隔符划分的字符串,逆至
输入:abc/ghi/hop/
输出:/hop/ghi/abc
输入: abc/ghi/hop
输入:abc/ghi/hop/
输出:/hop/ghi/abc
输入: abc/ghi/hop
输出: hop/ghi/abc
思路:从后向前找分隔符 / ,用j,k分别标记两个分隔符之间的字符串的首尾,那么就是找到相邻的分隔符下标。
最后注意,字符串起始处可能没有分隔符 / ,这时就输出即可。
#include<stdio.h>
#include<string.h>
void main()
{
char s[100];
gets(s);
int len;
len=strlen(s);
int i,j,k;
j=k=len;
for(i=len-1;i>=0;i--)
{
if(s[i]=='/' )
{
for(k=i+1;k<j;k++)
printf("%c",s[k]);
printf("/");
//当遇到/时,说明要反转的字符串的最后一位在/前面,用j标记
j=i;
}
else
{
continue;
}
}
if(s[0]!='/')
{
for(i=0;i<j;i++)
printf("%c",s[i]);
}
}