pat乙级真题--题号1009(说反话)

题目链接地址:点击打开链接


思路简介:  

  利用递归,直到找到最后一个单词,然后利用后进先出的特点,逐个输出单词。


#include 
#include 

void danci(char * str,int n){   
  int i;
  char temp[88];                 //存储单词
  for (i = 0; str[i] != ' ' && str[i] != '\0';i++)
    temp[i] = str[i];
  temp[i] = '\0';
  if (str[i] == ' ')            //若为空格,则递归找下一个单词
    danci(&str[i + 1],1+n);

  printf("%s",temp);           
  if (n != 0)                  //n为0时,代表最后一个单词,不用输出空格。
    printf(" ");
}
int main(){
  char str[88];
  gets(str);                  //由于输入中包含空格,不能用scanf("%s",str)。
  danci(str,0);

  return 0;
}


你可能感兴趣的:(pat乙级真题--题号1009(说反话))