字符串的单词逆序,字母不逆序

标点同字母处理,如“I am a student." --> "student. a am I"

整个字符串逆序再没个单词逆序。


  1. #include
  2. #include
  3. #include
  4. #include
  5. using namespace std;
  6. void swap(char s[],int l,int r)
  7. {
  8.     char s1;
  9.     while(l
  10.     {
  11.         s1=s[l];
  12.         s[l]=s[r];
  13.         s[r]=s1;
  14.         l++;
  15.         r--;
  16.     }
  17. }
  18. int main()
  19. {
  20.     int i,l,j;
  21.     char s[101];
  22.     gets(s);
  23.     l=strlen(s);
  24.     swap(s,0,l-1);
  25.     j=0;
  26.     for(i=0; i
  27.     {
  28.         if(s[i]==' ')
  29.         {
  30.             swap(s,j,i-1);
  31.             j=i+1;
  32.         }
  33.         if(i==l-1)
  34.             swap(s,j,l-1);
  35.     }
  36.     puts(s);
  37.     return 0;
  38. }

你可能感兴趣的:(c)