AIZU ONLINE JUDGEの問題を、
Javaにて記述する学習を行っています。
ITP1_6_A 問題全文
にて
入力は以下の形式で与えられます:
n
a1 a2 . . . an
n は数列の長さを示し、ai は i 番目の数を表します。
逆順の数列を1行に出力して下さい。数列の要素の間に1つの空白を入れて下さい(最後の数の後に空白は入らないことに注意して下さい)。
と指定されているため、以下のコードを記述しました。
Java
1 2import java.util.Scanner; 3 4public class Main{ 5 public static void main(String[] args){ 6 Scanner sc=new Scanner(System.in); 7 int n=sc.nextInt(); 8 final int N=n; 9 10 int a[]=new int[N]; 11 for(int i=0;i<N;i++){ 12 a[i]=sc.nextInt(); 13 } 14 15 int gyaku[]=new int[N]; 16 for(int i=0;i<N;i++){ 17 gyaku[i]=a[N-1-i]; 18 System.out.print(gyaku[i]); 19 20 if(i==(N-1)){ 21 break; 22 } 23 24 System.out.print(' '); 25 } 26 27 sc.close(); 28 } 29} 30
最後の数の後に空白は入らない、と言われているのでbreak;で空白を出力する前に
ループから抜け出すように書いています。
しかし、これではPresentation Errorが発生します。
AIZU ONLINE JUDGEでは、Presentation Errorとは
あなたのプログラムはほとんど受け入れられていますが、完璧ではありません。プログラムは余分なスペースまたはブランク行を出力し、あるいは必要なスペースまたはブランク行を出力しません。
と言われています。
break;を書く位置や条件など色々と書き変えてみたのですが、改善しません。
上記に書いたループからの脱出が上手くいっていないのか、
それとも他に問題があるのかが分かりません。
以下のコードをご覧になって、気付いた点がございましたらご教授いただけますと幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/27 16:19