天天看點

1009 說反話--C語言

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

輸入格式:

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

輸出格式:

每個測試用例的輸出占一行,輸出倒序後的句子。

輸入樣例:

Hello World Here I Come

輸出樣例:

Come I Here World Hello
#include<stdio.h>
#define N 81

int main()
{
	char str[N], word[N][N];//word二維數組來記錄每一個單詞
	int i, k=0, m=0;//k-->行下标, m-->列下标
	
	gets(str);//輸入中間有空格,用gets輸入
	for ( i=0; str[i]!='\0'; i++ ) {
		if ( str[i]!=' ' ) word[k][m++]=str[i];
		else if ( str[i]==' ' ){
			word[k][m]='\0';
			k++;
			m=0;
		}
		//對應最後一個單詞,最後一個單詞後面沒有' '(空格)
		if ( str[i+1]=='\0' ) {
			word[k][m]='\0';
			k++;
		}
	}
	
	//格式化輸出
	for ( i=k-1; i>=1; i-- ) {
		printf("%s ", word[i]);
	}
	printf("%s\n", word[i]); 
}
           

題目:https://pintia.cn/problem-sets/994805260223102976/problems/994805314941992960