讀取字符串,瀏覽字符串每一個字符,
創(chuàng)新互聯(lián)專注于鼓樓網站建設服務及定制,我們擁有豐富的企業(yè)做網站經驗。 熱誠為您提供鼓樓營銷型網站建設,鼓樓網站制作、鼓樓網頁設計、鼓樓網站官網定制、微信小程序開發(fā)服務,打造鼓樓網絡公司原創(chuàng)品牌,更為您提供鼓樓網站排名全網營銷落地服務。
如果是空格就輸出空格,
否則就保存當前位置,從當前位置移動到下一個空格或字符尾前,
從當前位置開始反向輸出,直達回到保存的位置
最后輸出回車,結束
//以下是C語言版的,需要的話,可以看看
#includestdio.h
#includestdlib.h
#includestring.h
#define String_MaxSize 10000 //讀入字符串的最大長度
int main()
{
char stringPtr[String_MaxSize]; //保存讀入的字符串
//循環(huán)讀取直到文件尾
while(gets(stringPtr))
{
int stringPtr_length = strlen(stringPtr); //字符串的長度
int i;
//循環(huán)讀取整段字符串
for(i = 0; i stringPtr_length; i++)
{
//如果字符為空格
if(stringPtr[i] == ' ')
{
//直接輸出空格
printf(" ");
}
//如果字符非空格
else
{
int tempPos = i; //保存當前i的位置
int j; //代替i進行反向移動
//讀取到下一個空格或字符串尾的前一個位置
while(i stringPtr_length stringPtr[i] != ' ')
{
i++;
}
i--;
//輸出單詞
for(j = i; j = tempPos; j--)
{
putchar(stringPtr[j]);
}
}
}
//輸出回車
printf("\n");
}
//輸出回車
printf("\n");
return 0;
}
char *revstr(char *str, size_t len)
{
char *start = str;
char *end = str + len - 1;
char ch;
if (str != NULL)
{
while (start end)
{
ch = *start;
*start++ = *end;
*end-- = ch;
}
}
return str;
}
只需要將字符數(shù)組的前后數(shù)據(jù)進行交換就行了。
#include?stdio.h
#include?string.h
char*?reverse(char?*x)
{
int?i,?tem,?len?=?strlen(x);
int?n?=?len?/?2;
for?(i?=?0;?i?=?n;?i++)??//?前后交換數(shù)據(jù)
{
tem?=?x[i];
x[i]?=?x[len?-?1?-?i];
x[len?-?1?-?i]?=?tem;
}
return?x;
}
int?main()
{
char?p[]?=?"abcdefghijk";
printf("relust?=?%s\n",?reverse(p));
return?0;
}