随即产生N个随即两位正整数,并按由大到小的顺序排列,并求中位数 用JAVA程序 急!!!!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了随即产生N个随即两位正整数,并按由大到小的顺序排列,并求中位数 用JAVA程序 急!!!!相关的知识,希望对你有一定的参考价值。
import java.util.Random;public class GenerateNumber
public static void main(String[] args)
generate(31);
generate(22);
/**
* 随即产生N个随即两位正整数,并按由大到小的顺序排列,并求中位数
* @param n 生成n个两位正整数
*/
public static void generate(int n)
int[] nums = new int[n];// 初始化数组
// 随机生成两位正整数并对数组赋值
for (int i = 0; i < nums.length; i++)
nums[i] = new Random().nextInt(90) + 10;
// 输出排序前结果
System.out.print("排序前:");
for (int i : nums)
System.out.print(i + " ");
// 降序排列
for (int i = 0; i < nums.length; i++)
for (int j = 0; j < i; j++)
if (nums[j] < nums[i])
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
// 输出排序后结果
System.out.print("\\n排序后:");
for (int i : nums)
System.out.print(i + " ");
// 输出中位数
if (n % 2 == 0)
System.out.println("\\n中位数:" + nums[n / 2 - 1] + " " + nums[n / 2]);
else
System.out.println("\\n中位数:" + nums[n / 2]);
排序前:81 27 43 59 96 47 62 36 17 15 62 59 36 50 77 25 15 58 98 80 22 11 98 85 19 29 96 13 39 79 33
排序后:98 98 96 96 85 81 80 79 77 62 62 59 59 58 50 47 43 39 36 36 33 29 27 25 22 19 17 15 15 13 11
中位数:47
排序前:14 86 18 76 13 40 92 26 58 52 24 57 81 40 53 67 23 73 63 52 36 19
排序后:92 86 81 76 73 67 63 58 57 53 52 52 40 40 36 26 24 23 19 18 14 13
中位数:52 52 参考技术A public static void main(String[] args)
int content = 10;//需要随即出来的数量
List<Integer> list = new ArrayList<Integer>();
java.util.Random r = new java.util.Random();
for (int i = 0; i < content; i++)
int a = r.nextInt(100);
if (a < 10)
i--;
else
list.add(a);
Collections.sort(list);
for (int s : list)
System.out.println(s);
if (content % 2 == 0)
int s = list.get(content / 2) + list.get(content / 2 - 1 );
System.out.println("中位数:" + s / 2);
else
System.out.println("中位数:" + list.get(content / 2));
本回答被提问者和网友采纳 参考技术B package cn.test;
import java.util.Random;
public class Test4
/**
* @param args
*/
public static void main(String[] args)
int n = 0 ;
Random random = new Random() ;
n = random.nextInt(99) ;
int[] nums = new int[n];// 初始化数组
for(int i=0;i<n;i++)
nums[i] = new Random().nextInt(89) + 10;
sort(nums) ;
for (int i : nums)
System.out.print(i + "\\t");
System.out.print("\\n中位数:");
if (n % 2 == 0)
System.out.println( (nums[n / 2 - 1] + nums[n/2 +1]) / 2 );
else
System.out.println(nums[n / 2]);
private static void sort(int[] nums)
// 降序排列
for (int i = 0; i < nums.length; i++)
for (int j = 0; j < i; j++)
if (nums[j] < nums[i])
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
参考技术C 随机用Random,结果加入List,用工具类排序,中位直接排序后取中间 参考技术D Random rd = new Random();
for (int i = 0; i < 100; i++) //100为你说的N个
System.out.print(10 + rd.nextInt(99) + " ");
学号160809224姓名黄家帅c语言程序设计实验2 选择结构程序设计
实验2-1 输入3个数,并按由大到小的顺序输出。
实验要求:
编写一个C程序,输入3个数,并按由大到小的顺序输出。
源码:
#include <stdio.h>
void main(){
int a,b,c,t;
printf("请输入三个整数:");
scanf("%d%d%d",&a,&b,&c);
if(a<b){
t = a;
a = b;
b = t;
}
if(b>c){
printf("%d\t%d\t%d\n",a,b,c);
}
else if(c>a){
printf("%d\t%d\t%d\n",c,a,b);
}
else{
printf("%d\t%d\t%d\n",a,c,b);
}
}
实验2-2 从键盘上输入x的值,并根据计算输出y的值
实验要求:从键盘上输入x的值,并根据计算输出y的值
提示:
- 使用数据函数需要#include <math.h>
- 开方函数:sqrt(x)
- 绝对值函数:fabs(x)
源码:
# include <stdio.h>
# include <math.h>
int main(void)
{
double x, y;
printf("enter x:");
scanf("%lf", &x);
if (x >4){
y = sqrt(x-4);
}
else if (x <-5){
y =fabs(x);
}
else{
y = x+3;
}
printf("f(%.2f)=%.2f\n",x,y);
return 0;
}
实验结果:
实验2-3从键盘上输入一个字母,如果是小写字母,将其转换成大写字母并输出。
实验要求:从键盘上输入一个字母,如果是小写字母,将其转换成大写字母并输出。
提示:
- 输入字符给变量c
char c;
方法一:c = getchar();
方法二:scanf("%c",&c);
- 输出字符变量c
方法一:putchar(c);
方法二:printf("%c",c);
程序源码#include <stdio.h>
int main(){
char c;
printf("输入一个字母:");
scanf("%c",&c);
printf("%c\n",c-32);
}
运行结果抓图
实验2-4从键盘上输入x的值,并根据计算输出y的值
实验要求:从键盘上输入x的值,并根据计算输出y的值
程序源码
#include<stdio.h>
int main()
{
float x,y;
scanf("%f",&x);
if(x<1)
y=x;
else if(x>=1 && x<10)
y=2*x-1;
else
y=3*x-11;
printf("%f",y);
return 0;
}
运行结果抓图
实验2-5 给出一个百分制的成绩,要求出成绩等级’A’、’B’、’C’、’D’、’E’,其中90分以上输出’A’,80~89输出’B’,70~79输出’C’,60~69输出’D’,60分以下输出’E’。
实验要求:
给出一个百分制的成绩,要求出成绩等级’A’、’B’、’C’、’D’、’E’,其中90分以上输出’A’,80~89输出’B’,70~79输出’C’,60~69输出’D’,60分以下输出’E’。
提示:
本实验要求同学们采用两种方法来完成:
方法一:使用if语句完成
方法二:使用switch语句完成。
程序源码
#include<stdio.h>
int main()
{
float a;
scanf("%f",&a);
if(a>=90)
printf("A");
else if(a>=80 && a<90)
printf("B");
else if(a>=70 && a<80)
printf("C");
else if(a>=60 && a<70)
printf("D");
else
printf("E");
return 0;
}
运行结果抓图
实验心得
每个语言程序都有自己的独特的特点,都需要我们细心的去完成,虽然各不相同,但还是会有一些相似之处值得我们去和其他程序去参考,只要我们足够细心,有耐心,大脑思路清晰,就一定能够完成程序的设计。对于我来说可能还是不太熟悉,希望以后会慢慢的更加了解。
以上是关于随即产生N个随即两位正整数,并按由大到小的顺序排列,并求中位数 用JAVA程序 急!!!!的主要内容,如果未能解决你的问题,请参考以下文章