
java 输入一个正整数n,再输入n个整数,将最小值与第一个数交换,最大值与最后一个数 100
importjava.util.Scanner;publicclassTest60004{publicstaticvoidmain(String[]args){intri...
import java.util.Scanner;
public class Test60004{
public static void main(String []args){
int ri, repeat;
int i, index, n, t, a[], m, l;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
index=0;
t=0;
m=0;
l=0;
for(ri=1; ri<=repeat; ri++){
n=in.nextInt();
a=new int[n];
for(i=0; i<n; i++){
a[i]=in.nextInt();
/*---------*/
if(a[index]<a[i]){
index=i;
}
if(a[t]>a[i]){
t=i;
}
}
m=a[0];
l=a[n-1];
a[0]=a[t];
a[n-1]=a[index];
a[t]=m;
a[index]=l;
for(i=0; i<n; i++)
System.out.print(a[i]+" ");
System.out.println();
求问这个哪里错了
题目是
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
输入一个正整数n,再输入n个整数,将最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的n个数。
例:括号内是说明
输入
3 (repeat=3)
5 4 3 5 1 2
4 1 5 6 7
5 5 4 3 2 1
输出
1 3 2 4 5
1 5 6 7
1 4 3 2 5 展开
public class Test60004{
public static void main(String []args){
int ri, repeat;
int i, index, n, t, a[], m, l;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
index=0;
t=0;
m=0;
l=0;
for(ri=1; ri<=repeat; ri++){
n=in.nextInt();
a=new int[n];
for(i=0; i<n; i++){
a[i]=in.nextInt();
/*---------*/
if(a[index]<a[i]){
index=i;
}
if(a[t]>a[i]){
t=i;
}
}
m=a[0];
l=a[n-1];
a[0]=a[t];
a[n-1]=a[index];
a[t]=m;
a[index]=l;
for(i=0; i<n; i++)
System.out.print(a[i]+" ");
System.out.println();
求问这个哪里错了
题目是
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
输入一个正整数n,再输入n个整数,将最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的n个数。
例:括号内是说明
输入
3 (repeat=3)
5 4 3 5 1 2
4 1 5 6 7
5 5 4 3 2 1
输出
1 3 2 4 5
1 5 6 7
1 4 3 2 5 展开
1个回答
展开全部
数组越界了。
假如我上次输入的是 5 5 4 3 2 1
这次输入 4 1然后就会报错
原因是上次的t没有被初始化 t是4 这次的数组共4个值,所以最大只能a[3] 但是在比较的时候出现了a[4]所以就越界了
修改方案是把这些初始化
t=0;
m=0;
l=0; 放到第一个for语句后面
假如我上次输入的是 5 5 4 3 2 1
这次输入 4 1然后就会报错
原因是上次的t没有被初始化 t是4 这次的数组共4个值,所以最大只能a[3] 但是在比较的时候出现了a[4]所以就越界了
修改方案是把这些初始化
t=0;
m=0;
l=0; 放到第一个for语句后面
追问
for(ri=1; ri<=repeat; ri++){
t=0;
m=0;
l=0;
n=in.nextInt();
谢谢 但是
我运行的结果是对的 但是答题系统告诉我答案错误 怎么办TAT
追答
答题系统?是你自己练习的还是要过什么级别职称什么的?
如果不是太重要就不要纠结评判结果的对错了。主要是要知道思路然后组织语言编写出来
你还是在学习吧?有时候不需要钻牛角尖了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询