问题要求:将一句话中的单词倒置,标点符号的相对位置不变;
例如:
Mike Shinoda, Rob Bourdon, and Brad Delson.
倒置为:
ekiM adonihS, boR nodruoB, dan darb nosleD.
例如:
Mike Shinoda, Rob Bourdon, and Brad Delson.
倒置为:
ekiM adonihS, boR nodruoB, dan darb nosleD.
#include <stdio.h>
#include <string.h>
int main()
{
char a[] = "Mike Shinoda, Rob Bourdon, and Brad Delson.";
char b[1024] = {0};
int i;
int j = 0;
int k = 0;
int h = 0;
for(i = 0;i < strlen(a);i++)
{
k = i;
if(a[i] == ' ' || a[i] == ',' || a[i] == '.')
{
for(j = h;j < i;j++)
{
b[j] = a[k - 1];
k--;
}
h = i + 1;
b[i] = a[i]; //保留空格不变
}
}
printf("%s\n",b);
}