读入一行文本,包含若干个单词(以空格间隔,%结尾)。将其中以 A 开头的单词与以 N 结尾的单词,用头尾交换的办法予以置换。
#include "stdio.h"
void main()
{
char str[60];
gets(str);
char *p, *q,r;
p = q = str;
while(*p != '%')//当字符不是结束符时
{
while(*p == ' ')//字符为空格时,p指向下一个字符
{ printf("%c", *p++);
q = p;//记录当前字符
}
while(*p != ' ' && *p != '%')//输入一个字符后,p自增
{ p++;}
if(*q == 'a' || *(p-1) == 'n')//交换字符的条件
{
r = *q;
*q = *(p-1);
*(p-1) = r;
}
while(q != p)
printf("%c", *q++);
}
}

本文介绍了一个使用C语言编写的程序,该程序能够读取一行包含多个单词的文本,并通过特定的逻辑实现以A开头和以N结尾的单词的头尾字符交换。此方法有助于理解字符串操作及条件判断。
8787





