该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
void fun (char *ch1, char *ch2)
{
int i, n(0), k;
int length;
bool judge(true);
for (length = 0; *(ch1 + length) != '\0'; length ++);// 计算ch1长度
for (i = length - 1; i >= 0; i --)
{
if (*(ch1 + (length - 1)) == ' ' && judge)// 判断ch1末位是否有空格……
{
while (*(ch1 + i) == ' ')
{
*(ch2 + n ++) = ' ';
i --;
}
judge = false;
}
if (*(ch1 + i) == ' ')
{
for (k = i + 1; *(ch1 + k) != '\0'; k ++)// 将单词按反依次赋予ch2
{
if (*(ch1 + k) == ' ')
{
break;
}
*(ch2 + n ++) = *(ch1 + k);
}
while (*(ch1 + i) == ' ')// 将单词间空格赋予ch2……
{
*(ch2 + n ++) = ' ';
i --;
}
}
if (i == 0 && *(ch1 + i) != ' ')// ch1第一个单词
{
for (k = i; *(ch1 + k) != ' '; k ++)
{
if (*(ch1 + k) == '\0')
{
break;
}
*(ch2 + n ++) = *(ch1 + k);
}
}
}
*(ch2 + n ++) = '\0';
}
void main ()
{
char *p1, *p2, s1[50], s2[50];
p1 = s1;
p2 = s2;
printf ("输入:");
gets (p1);
fun (p1, p2);
puts (p2);
}
本文介绍了一个C语言程序,该程序能够实现字符串中单词的顺序反转。通过遍历输入字符串并逐个字符处理,程序能准确地识别单词边界,并将每个单词按相反顺序输出到新的字符串中。
1927

被折叠的 条评论
为什么被折叠?



