输入的第一行给出正整数n(1<n≤10)。随后一行给出n个整数,其间以空格分隔。
输出格式:
顺次计算后项减前项之差,并按每行三个元素的格式输出结果。数字间空一格,行末不得有多余空格。
输入样例:
10
5 1 7 14 6 36 4 28 50 100
输出样例:
-4 6 7
-8 30 -32
24 22 50
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
int n=s.nextInt();
int num[]=new int[n];
int dif[]=new int[n-1];
int i;
for(i=0;i<n;i++)
num[i]=s.nextInt();
for(i=0;i<n-1;i++)
{
dif[i]=num[i+1]-num[i];
}
int t=0;
for(i=0;i<n-1;i++)
{ t=i+1;
if((t%3==0)||(i==n-2))
System.out.printf("%d\n",dif[i]);
else
System.out.printf("%d ",dif[i]);
}s.close();
}}
计算查基本上不会有问题,注意的是输出的格式,我也是想了很久才想出来。
这里有一个值得考虑的情况,如果最后数组中元素个数不是3的整数倍输出也要换行,其实就是相当于最后一个无论如何都要换行。所以用了if((t%30)||(in-2))这条语句,如果大家有更好的方法 希望可以跟我交流。
新手入门 写的不好 请多指教。