如题:把字符串按单词逆转,此处以逗号作为分割符,以字符串数组来储存字符串
#include "stdafx.h"
#include<iostream>
using namespace std;
void swap(char arr[],int *start,int *end)
{
char temp;
int i;
int j;
for(i = *start, j = *end - 1; i < j; ++i, --j)
{
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
void reverseString(char arr[],int length)
{
int start = 0;
int end = 0;
int count = 0;
swap(arr,&start,&length);
while(end < length)
{
if(arr[end] != ',')
{
++end;
}
else
{
swap(arr,&start,&end);
start = ++end;
}
}
if(end == length)
{
swap(arr,&start,&length);
}
}
void main()
{
char arr[] = {'n','i','c','e',',','t','o',',','m','e','e','t',',','y','o','u'};
int length = sizeof(arr)/sizeof(char);
reverseString(arr,length);
for(int i = 0; i < length; ++i)
{
cout<<arr[i];
}
cout<<endl;
system("pause");
}