1151Word Reversal ACM题答案 java版
import java.util.Scanner;
public class WordReversal1151 {
static int N = 0;// N个输入块
static int num;// 每个输入块里有多少句话
static String blank_line;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
N = sc.nextInt();
for (int i = 0; i < N; i++) {
num = sc.nextInt();
blank_line=sc.nextLine(); //因为跟在num之后的是半截空行,要去掉
for (int j = 0; j < num; j++) {
String sen = sc.nextLine();
reversal(sen);
}
//输出块之间的空行
if(i!=N-1)//最后一块不要输出空行,不然会报Presentation Error错误
System.out.println();
}
}
public static void reversal(String sen) {
String[] arr = sen.split(" ");//通过空格把字符串拆分,每个单词依次存入数组
for (int k = 0; k < arr.length; k++) {//针对每个单词
char[] array = arr[k].toCharArray();//把每个单词拆成字符,存入数组
for(int x=array.length-1;x>=0;x--){//把字符数组中的字符倒序输出
System.out.print(array[x]);
}
if(k!=arr.length-1)
System.out.print(" ");//输出单词间的空格,最后一个单词不输出
}
//这个句子输出完成,换行
System.out.println();
}
}