1. 程式人生 > >PTA 1009 說反話 (20)(20 分) 給定一句英語,要求你編寫程式,將句中所有單詞的順序顛倒輸出。

PTA 1009 說反話 (20)(20 分) 給定一句英語,要求你編寫程式,將句中所有單詞的順序顛倒輸出。

給定一句英語,要求你編寫程式,將句中所有單詞的順序顛倒輸出。

輸入格式:測試輸入包含一個測試用例,在一行內給出總長度不超過80的字串。字串由若干單詞和若干空格組成,其中單詞是由英文字母(大小寫有區分)組成的字串,單詞之間用1個空格分開,輸入保證句子末尾沒有多餘的空格。

輸出格式:每個測試用例的輸出佔一行,輸出倒序後的句子。

輸入樣例:

Hello World Here I Come

輸出樣例:

Come I Here World Hello

       首先,要明白空格和空字元('\0')不一樣,再明白 getchar()這個函式用法,getchar()這個函式可以 輸入 空格但是 不能 輸入進 換行( '\n' ),知道這些以後,這個題就很容易了。

#include<stdio.h>
#include<string.h>
int main(void)
{
char a[100][100],c;
int length,i;

length=80;
i=0;
while((c=getchar())!='\n')
{
if(c==' ')
{
a[length][i]='\0'; //這一步很重要,防止 字元陣列 輸出過界
length--;
i=0;
continue;
}
else {
      a[length][i]=c;
      i++;
  }

 
}
 
 
    a[length][i]='\0';
    for(i=length;i<81;i++)
    {
    if(i==80)
    {
    printf("%s",a[80]);
    break;
}
else printf("%s ",a[i]);
}
return  0;
}