重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
读取字符串,浏览字符串每一个字符,
克井网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、自适应网站建设等网站项目制作,到程序开发,运营维护。创新互联建站于2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站。
如果是空格就输出空格,
否则就保存当前位置,从当前位置移动到下一个空格或字符尾前,
从当前位置开始反向输出,直达回到保存的位置
最后输出回车,结束
//以下是C语言版的,需要的话,可以看看
#includestdio.h
#includestdlib.h
#includestring.h
#define String_MaxSize 10000 //读入字符串的最大长度
int main()
{
char stringPtr[String_MaxSize]; //保存读入的字符串
//循环读取直到文件尾
while(gets(stringPtr))
{
int stringPtr_length = strlen(stringPtr); //字符串的长度
int i;
//循环读取整段字符串
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;
}
只需要将字符数组的前后数据进行交换就行了。
#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++) // 前后交换数据
{
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;
}
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;
}