随即产生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的值

 

提示:

  1. 使用数据函数需要#include <math.h>
  2. 开方函数:sqrt(x)
  3. 绝对值函数: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从键盘上输入一个字母,如果是小写字母,将其转换成大写字母并输出。

实验要求:从键盘上输入一个字母,如果是小写字母,将其转换成大写字母并输出。

提示:

  1. 输入字符给变量c

    char c;

方法一:c = getchar();

方法二:scanf("%c",&c);

  1. 输出字符变量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 给出一个百分制的成绩,要求出成绩等级ABCDE,其中90分以上输出A8089输出B7079输出C6069输出D60分以下输出E

实验要求:

给出一个百分制的成绩,要求出成绩等级’A’、’B’、’C’、’D’、’E’,其中90分以上输出’A’8089输出’B’7079输出’C’6069输出’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程序 急!!!!的主要内容,如果未能解决你的问题,请参考以下文章

输入5个字符串,按由大到小的顺序输出

第二次作业

用指针方法对10个整数按由大到小顺序排序

C语言中从键盘上输入三个数,将之排序后按由大到小的顺序输出

C++_输入3个数分别按由大到小的顺序输出,数据可以是整型单精度型双精度型,要求使用变量的引用 和函数模板

C语言实例第11期:将3个数由大到小的顺序输出