用c#控制台应用程序,对输入的四个整数,求出其中的最大数和最小数,并输出。求解 谢谢

如题所述

冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。

  由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。

  用二重循环实现,外循环变量设为i,内循环变量设为j。外循环重复9次,内循环依次重复9,8,...,1次。每次进行比较的两个元素都是与内循环j有关的,它们可以分别用a[j]和a[j+1]标识,i的值依次为1,2,...,9,对于每一个i, j的值依次为1,2,...10-i。

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-27
int[] num = new int[4];
int i, j;
int temp;

Console.WriteLine("请输入4个数");
for (i = 0; i < 4; i++) {
Console.WriteLine("第{0}个数",(i+1));
num[i] = int.Parse(Console.ReadLine());
}
int max = num[0];
int min = num[0];
for (i = 0; i < num.Length - 1; i++) {
for (j = 0; j < num.Length - 1 - i; j++) {
if (num[j] > num[j + 1]) {
temp = num[j];
num[j] = num[j + 1];
num[j + 1] = temp;
}
}
}
Console.WriteLine("排序后的成绩为");
for (i = 0; i < num.Length; i++) {
Console.WriteLine("{0}\t",num[i]);
if (num[i] > max) {
max = num[i];
}
if (num[i] < min) {
min = num[i];
}
}
Console.WriteLine("最大值{0}\t最小值{1}",max,min);
Console.ReadLine();本回答被提问者采纳
第2个回答  2011-06-27
int[] numList =new int[4] {1,2,3,4};//大括号里面放入4个整数
int temp = 0;
for (int i = 0; i < numList .Length - 1; i++) {
for (int j = 0; j < numList .Length - 1 - i; j++) {
if (num[j] > num[j + 1]) {
temp = numList [j];
numList [j] = numList [j + 1];
numList [j + 1] = temp;
}
}
}
numList [0]和numList [3]就是最大的和最小的
第3个回答  2011-06-27
把4个数字放到数组里 然后冒泡排序..追问

可以给一个源代码吗???谢谢

追答

int[] numList = {};//大括号里面放入4个整数
int temp = 0;
for (int i = 0; i num[j + 1]) {
temp = numList [j];
numList [j] = numList [j + 1];
numList [j + 1] = temp;
}
}
}
numList [0]和numList [3]就是最大的和最小的

第4个回答  2011-06-27
用冒泡排序法来推算
相似回答