- “student a am i”--->"i am a student"
- 思路:先把整个字符串倒置,再利用空格将每个单词倒置回来。
void reverse(char str[], int begin, int end)
{
while (begin < end)
{
char temp = str[begin];
str[begin] = str[end];
str[end] = temp;
begin++; end--;
}
}
int main()
{
int i = 0,j =0, length = 0;
char str[] = "student a am i";
while (str[length++]!='\0')
;
reverse(str, 0, length);//先把整个数组倒置
for (i = 0; i < length; i++)
{
if (str[i] == ' ')
{
reverse(str, j, i);//每个单词倒置回来
j = i + 1;
}
}
for (i = 0; i < length; i++)//输出数组
{
printf("%c", str[i]);
}
system("pause");
return 0;
}