#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
Reverse1(char* start, char* end) //字符串整体翻转
{
char t = 0;
while (start < end)
{
t = *start;
*start = *end;
*end = t;
start++;
end--;
}
}
void Reverse2(char* start) //每个单词整体翻转
{
while (*start)
{
char* end = start;
while (*end != ' ' && *end != '\0')
{
end++;
}
Reverse1(start, end - 1);
if (*end == ' ')
{
start = end + 1;
}
else
{
start = end;
}
}
}
int main()
{
char str[100] = { 0 }; //I like BeiJing.
int i = 0;
gets(str); //scanf("%s", &a) 输入字符串时遇到空格就停止写入字符串 gets(数组名) 输入字符串可以有空格
puts(str); //打印字符串
int len = strlen(str);
Reverse1(str, str + len - 1); //字符串整体翻转 .gniJieB ekil I
puts(str);
Reverse2(str); //每个单词整体翻转 BeiJing. like I
puts(str);
return 0;
}
c语言-字符串中每个单词翻转
于 2022-07-26 10:43:56 首次发布