输入字符串;以逗号、句号、一个空格分隔(可自行设定)。
逆序输出各单词
#include "stdio.h"
#include "string.h"
int main()
{
char a[20]="abc,def.sx cdd" ;//输入的字符串
char b[10],k=0,i=0; //b储存分隔标识在a中的位置
int last; //最后一个符号在b的下标
gets(a);
while(a[i] != '\0') // 分隔标识在a中的位置(下标)
{
if(a[i] == ',' || a[i] == '.' || a[i] == ' ')
{
b[k++]=i;
}
i++;
}
last=strlen(b)-1; //b中最后一个元素的下标
for(i=last;i>=0;i--)
{
int m; //分隔标识的下一项(字符的第一项)
m=b[i]+1;
if(i==last)//最后一项
{
for(m;a[m]!='\0';m++)
{
printf("%c",a[m]);
}putchar(' ');
}else //第二项到倒数第二项
{
for(m;m<b[i+1];m++)
{
printf("%c",a[m]);
}
putchar(' ');
}
}
for(i=0;i<b[0];i++) //第一项
{
printf("%c",a[i]);
}
}
结果示例