例:编写一个程序,随机产生12个两位整数,存放在数组A中,并从中找出一个最大数和一个最小数。

分析:1)随机产生12个两位数;2)这12个数存放在数组A中;3)从中找出最大数和最小数。

import java.util.Arrays;
import java.util.Random;

public class MaxAndMin {
public static void main(String[] args) {
Random ran = new Random();
int[] i = new int[12];// 建立一个可以存放12个数字的数组
for (int j = 0; j < i.length; j++) {
i[j] = ran.nextInt(89) + 10;// 因为nextInt(89)产生的是0-89的随机数,所以加10就是10-99也就是两位数
}
Arrays.sort(i);//利用自带的排序,将i数组排序
System.out.println("最小的是:" + i[0]);//因为已经排序过了,所以数组中第一个数字是最小的,最有一个是最大的
System.out.println("最大的是:" + i[11]);//所以直接把两个数字输出就可以了
}
}
//最后补充下,因为srot是jdk中优化好的排序算法,所以我直接用了,你也
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-10-31
#include<iostream>
#include<ctime>
using namespace std;

int main()
{
int a[13];
int max=0;
int min=100;
for(int i=1; i<=12; i++)
{
a[i]=rand()*10%100;
if(a[i]==0){i--;continue;}
if(a[i]>max)max=a[i];
if(a[i]<min)min=a[i];
}
cout<<max<<min;
}
第2个回答  2008-10-31
不知道你要用什么实现,我用asp.net,你参考下。

protected void Page_Load(object sender, EventArgs e)
{
int[] r = InitData(12);
for(int i=0; i<r.Length; i++)
{
Response.Write(string.Format("{0},", r[i].ToString()));
}
Response.Write(string.Format("<br/>最大值:{0}<br/>", GetMax(r)));
Response.Write(string.Format("<br/>最小值:{0}<br/>", GetMin(r)));
}

private int[] InitData(int count)
{
int[] res = new int[count];
Random myrnd = new Random();

for (int i = 0; i < count; i++)
{
res[i] = myrnd.Next(10, 99);
}

return res;
}

private int GetMax(int[] ir)
{
int tmp = ir[0];

foreach (int i in ir)
{
if (i > tmp)
tmp = i;
}

return tmp;
}

private int GetMin(int[] ir)
{
int tmp = ir[0];

foreach (int i in ir)
{
if (i < tmp)
tmp = i;
}

return tmp;
}
相似回答