import java.util.Scanner;
public class MaoPaoSort {
public static void main(String[] args)
{
//定义几个变量
Scanner sc = new Scanner(System.in);
int[] intArray = new int[10]; //声明的同时,一定要对变量进行初始化
int number = 10;
int i = 0;
//1.从键盘循环输入10个整数,并且放到一个数组中
System.out.println("循环输入10个整数:");
for(i=0;i<number;i++)
{
intArray[i] = sc.nextInt();
}
//2.冒泡排序
System.out.println("循环输出排序之前的数组:");
for(i=0;i<number;i++) //循环输出排序之前的数组
{
System.out.print(intArray[i] + " ");
}
for(i=0;i<number;i++) //降序
{
for(int j=i+1;j<10-i;j++)
{
if(intArray[i] < intArray[j])
{
int temp = intArray[i];
intArray[i] = intArray[j];
intArray[j] = temp;
}
}
}
System.out.println("循环输出排序之后的数组:");
for(i=0;i<number;i++) //循环输出排序之后的数组
{
System.out.print(intArray[i] + " ");
}
//3.统计数量
int a = 0;
int b = 0;
int c = 0;
for(i=0;i<number;i++)
{
if(intArray[i] > 0)
{
a++;
}else
if(intArray[i] < 0)
{
b++;
}else
if(intArray[i] == 0)
{
c++;
}
}
System.out.println("统计大于0的数量:" + a + "\n");
System.out.println("统计先于0的数量:" + b + "\n");
System.out.println("统计等于0的数量:" + c + "\n");
}
}
附:
参考:http://www.mianwww.com/html/2014/05/21206.html
题目
1. 编一个程序,输入10个整数,并放在数组中,先降序输出所有的数,再统计并输出其中正数、负数和零的个数
2.基准排序(即快速排序)
class QuickSort {
private static void QuickSort(int[] array,int start,int end)
{
if(start<end)
{
//1.定义2个变量
int jiZhun=array[start]; //基准值
int n=start; //统计数量(统计比基准值小的元素的数量)
//循环交换:array[j]和array[n+1]
for(int j=start+1;j<=end;j++)
{
if(array[j]<key) //1.如果比基准值小,那么就交换 j和n+1,交换之后n自增 2.否则,不交换,n的值也不变
{
int temp=array[j];
array[j]=array[n+1];
array[n+1]=temp;
n++;
}
}
//交换一次:基准值和n
array[start]=array[n];
array[n]=jiZhun;
QuickSort(array, start, n-1);//递归调用
QuickSort(array, n+1, end);
}
}
public static void main(String[] args)
{
int[] array=new int[]{11,1,2,213,134,44,77,78,23,-43};
QuickSort(array, 0, array.length-1);
for(int i=0;i<array.length;i++)
{
System.out.println((i+1)+"th:"+array[i]);
}
}
}