有一個字符串是這樣的:"student a am i",程序實現將字符串轉換爲“i am a student”這樣的字符串。實現思路:
1.將每個單詞翻轉。
2.然後整天字符串翻轉。
#include<stdio.h>
#include<string.h>
void rvs_string(char *left,char *right) //翻轉指定字符串
{
char *p1 = left;
do
{
char tmp = *left;
*left = *right;
*right = tmp;
left++;
right--;
} while(left<right);
}
//翻轉單詞序
void reverse(char *str)
{
do
{
char *tmpr = str;
char *tmpl = str;
while((*tmpr != '\0') && (*tmpr != ' '))
{
tmpr++;
}
rvs_string(tmpl,tmpr-1);
str = tmpr+1;
} while(*str != '\0') ;
}
int main()
{
char p[20] = "student a am i";
reverse(p);
rvs_string(p,p+strlen(p)-1);
printf("%s\n",p);
return 0;
}