java 输入一个正整数n,再输入n个整数,将最小值与第一个数交换,最大值与最后一个数

作者&投稿:前吕 (若有异议请与网页底部的电邮联系)
输入一个正整数n(1<n≤10),再输入n个整数,将最小值与第一个数交换,最大值与最后一个数交换。~

可以参考下面的代码:
#include
void main()
{
int i,j=0,k=0,t,n,min,max,a[10];
printf("输入整百数度的个数: ");
scanf("%d",&n);
printf("输入%d个整数: ",n);
scanf("%d",&a[0]);
max=a[0];min=a[0];
for(i=1;i<n;i++)
{
scanf("%d",&a[i]);
if(max<a[i]) {max=a[i];j=i;}
if(min>a[i]) {min=a[i];k=i;}
}
t=a[k];a[k]=a[0];a[0]=t;
t=a[j];a[j]=a[n-1];a[n-1]=t;
printf("交换顺序后内输出: ");
for(i=0;i<n;i++)
printf("%d ",a[i]);
}

扩展资料:
1、printf()函数
printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出
信息。在编写程序时经常会用到此函数。函数的原型为:
int printf(const char *format, ...);
函数返回值为整型。若成功则返回输出的字符数,输出出错则返回负值。
printf()函数的调用格式为:
printf("", );
2、for循环
for循环小括号里第一个“;”号前为一个为不参与循环的单次表达式,其可作为某一变量的初始化赋值语句, 用来给循环控制变量赋初值; 也可用来计算其它与for循环无关但先于循环部分处理的一个表达式。
“;”号之间的条件表达式是一个关系表达式,其为循环的正式开端,当条件表达式成立时执行中间循环体。
参考资料来源:百度百科-for循环
参考资料来源:百度百科-printf()

调出来了:
int []b=new int[n];
这个语句应该是上面的这个,要申请n个空间,不是n-1,否则会数组下标越界。
运行后,先输入一个整数n,表示下面还要输入整数的个数,
然后在输入n个整数,求这n个整数中的min和max。
下面是我调好的程序:
import java.util.Scanner;
public class Main { public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int min=0;
int max=0;
int []b=new int[n];
for(int i=0;i<n;i++){
b[i]=sc.nextInt();
}

min=max=b[0];
for(int i=1;i<n;i++){
if(min>b[i]){
min=b[i];
}
if(max<b[i]){
max=b[i];
}
}
System.out.println(min+" "+max);
}
}

数组越界了。
假如我上次输入的是 5 5 4 3 2 1
这次输入 4 1然后就会报错
原因是上次的t没有被初始化 t是4 这次的数组共4个值,所以最大只能a[3] 但是在比较的时候出现了a[4]所以就越界了

修改方案是把这些初始化
t=0;
m=0;
l=0; 放到第一个for语句后面


韶山市17688899717: 输入一个正整数n,再输入n个整数,将最小值与第一个数交换,最大值与最后一个数交换,再输出交换后的n个数这是我写的java程序,可以帮忙看看错在哪... -
司马峡瑞普:[答案] 太不规范了吧.看着头晕. for(i=0;i

韶山市17688899717: java 输入一个正整数n,再输入n个整数,将最小值与第一个数交换,最大值与最后一个数 -
司马峡瑞普: 数组越界了.假如我上次输入的是 5 5 4 3 2 1 这次输入 4 1然后就会报错 原因是上次的t没有被初始化 t是4 这次的数组共4个值,所以最大只能a[3] 但是在比较的时候出现了a[4]所以就越界了 修改方案是把这些初始化 t=0;m=0;l=0; 放到第一个for语句后面

韶山市17688899717: java用户输入一个正整数n, -
司马峡瑞普: Scanner c=new Scanner(System.in); System.out.println("please "); int n=c.nextInt(); double sum=0; if(n%2==0){ for(int i=2;i<=n;i=i+2){//奇数偶数只在i的初始值不同 sum+=1/(double)i; }} else { for(int i=1;i<=n;i=i+2){ sum+=1/(double)i; }} sum即为所求

韶山市17688899717: Java 一个简单问题,输入一个整数类型n,然后输入n行String类型~怎样实现 -
司马峡瑞普: import java.util.Scanner; public class Test{ public static void main(String[]args){System.out.println("请输入一个整数:"); Scanner scanner=new Scanner(System.in); int num=scanner.nextInt(); String temp=""; for(int i=1;i<=n;i++){System.out.println("请输入第"+i+"行字符串"); temp+=scanner.next();}} }

韶山市17688899717: 如何Java编写冒泡程序,要求是从键盘输入一个正整数n表示个数,然后输 -
司马峡瑞普: import java.io.BufferedReader; import java.io.InputStreamReader; public class MaoPaoPaiXu { public static void main(String[] args) throws Exception { System.out.println("请输入要输入的正整数个数:"); BufferedReader br = new ...

韶山市17688899717: 编程,输入一个正整数n,再输入n个整数,输出其中的最大值输入的每个数都在100 - 200之间,如果某 -
司马峡瑞普: dim a,b,c c=""'赋予c空值 a=inputbox("n?")'输入N For a=0 to n-1b=inputbox("?")'询问 b=int(b)'将b转化为整数 If b>99 or b<201 then'如果b的范围在100~200 If c<>"" then'如果c不为空 If c>b then c=c'如果c大于b就不变 Elseif c<b then c=b'如果b大于c则选最大数 End if else c=b'如果c为空则变成b End if End if Next Msgbox c '2014年5月于厕所

韶山市17688899717: 判断素数输入一个正整数n,再输入n个正整数,判断它们是否为素数.我只会一个的,不知道怎么再在这个里面循环.求教:#include#includeint main(void){int i,... -
司马峡瑞普:[答案] #include int main() { int n,a[20],i,j; printf("输入需要判断的个数:\n"); scanf("%d",&n); printf("输入这些数:\n"); for(i=0;i

韶山市17688899717: 编写一个Java应用程序,在键盘上输入一个正整数n, -
司马峡瑞普: 你要弄懂2个问题 1):只有1和它本身两个正因数的自然数,叫质数(或称素数); 2):合数都能被 2,3,5,7,11中的一个整除,那么 你可以这样写主逻辑算法:int n ;你见输入的那个数 if(n % 2 == 0 || n % 3 == 0 || n % 5 == 0 || n % 11 == 0 ) {System.out.print( n + "是个合数");} else {System.out.print( n + "是个素数"); }

韶山市17688899717: 编写一个Java程序,要求键盘输入整数n,然后再输入n个整数保存在数组a【】中,求数组中的最大值,最% -
司马峡瑞普: 分太少了,都没有人帮忙啊 我给你一个完整的程序吧import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;public class MainTest {public static void main(String[] args) {int count = 0;int[] array;int max = 0...

韶山市17688899717: 编程题:输入一个正整数n,再输入n个整数,输出最小值. -
司马峡瑞普: #include <iostream.h> #include <vector> using namespace std; int main() { int n,m; cout << "待处理个数 n: "<<endl; cin >> n; vector <int> a; cout << "输入数据: "; for(int i = 0; i < n; i++) { cin >>m; a.push_back(m); } for (int j =0; j < n; j++) { if( ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网