#include <iostream>
//////////////////////////////////////////////////////////////////////////
///字符串反轉,不用庫函數, 單詞字母順序不變,只調整單詞順序爲反序: 如 I am a student. student.a am I
///1. 斷詞
///2. 單詞反轉
///3. 整句反轉
/////////////////////////////////////////////////////////////////////////
void reversed_word(char *start, char *end)
{
while(start < end)
{
char temp = *start;
*start++ = *end;
*end-- = temp;
}
}
char * reversed_str (char *str)
{
char *start = str;
char *end = str;
while(1)
{
if (*end == ' '|| *end == '\0')
{
if( *end == '\0')
break;
reversed_word(start, end - 1);
while(*end == ' ')
{
end++;
}
start = end;
}
else
{
end++;
}
}
printf("單個單詞反轉後輸出: %s\n", str);
reversed_word(str, end-1);
return str;
}
int main()
{
char str[] = " i am !./ a student. ";
printf("%s\n", str);
printf("%s\n", reversed_str(str));
return 0;
}
I am a student. student.a am I
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.