3.13·········冒泡排序
Posted 魅影星魂
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3.13·········冒泡排序相关的知识,希望对你有一定的参考价值。
抽奖活动:
输入n个手机号码,滚动号码,5秒钟后停止
输出中奖人号码
Console.Write("请输入手机号码个数:");
int a = int.Parse(Console.ReadLine());
string [] shuzu = new string [a];
for (int i = 0; i < a; i++)
{
Console.Write("请输入第"+(i+1)+"个手机号码:");
shuzu[i] = Console.ReadLine();
}
Console.WriteLine("所有号码输入完毕,请按回车键开始滚动号码!");
Console.ReadLine();
Random ran = new Random();//初始化
int r = 0;
for (; ;)
{
int aa = ran.Next(a);//小于a的随机一个数
Console.Clear();
Console.WriteLine(shuzu[aa]);
System.Threading.Thread.Sleep(100);//休眠0.1秒
if (r == 49)//第50遍即5秒后跳出
{
//作弊代码
//Console.Clear();
//Console.WriteLine("110");//循环结束后显示的号码是110
break;
}
r++;
}
Console.ReadLine();
冒泡排序:数组里面的每一个数与他后面的每一个数相比较,若小于,则换位
int[] shuzu = new int[] { 3, 1, 8, 4, 0, 5, 6 };
//8134056
//8314056
//8413056
//8513046
//8613045
//8631045
//8641035
//8651034
//8653014
//8654013
//8654103
//8654301
//8654310
int zhong;
for (int i = 0; i < 6; i++)
{
for (int j = i + 1; j < 7; j++)
{
if (shuzu[i] < shuzu[j])//shuzu[0]~shuzu[6]从大到小排列,若条件是大于,则从小到大排列
{
zhong = shuzu[i];
shuzu[i] = shuzu[j];
shuzu[j] = zhong;
}
}
}
//for (int i = 0; i < 7; i++)
//{
// Console.Write(shuzu[i] + " ");
//}
foreach (int a in shuzu)//遍历数组
{
Console.Write(a+" ");
}
Console.ReadLine();
foreach(object a in shuzu),打印shuzu里面的每一个数据,变量a的数据类型必须和数组的数据类型一致,若实在不知什么类型,可用object。
object是所有类的基类,可以接收任何数据类型
object a = 1;
object b = "123";
object c = true;
object d = 3.14;
输入人数,输入每个人的成绩
需要最高分、最低分
去掉两个最高分,去掉两个最低分,求平均分。
Console.Write("请输入人数:");
int n = int.Parse(Console.ReadLine ());
double[] s = new double[n];//成绩是double类型
double zhong;
double sum = 0;
for (int i = 0; i < n;i++ )
{
Console.Write("请输入第"+(i+1)+"个人的成绩:");
s[i] = double.Parse(Console.ReadLine());//将n个人的成绩放进数组
}
for (int i = 0; i < n - 1;i++ )//冒泡排序
{
for (int j = i + 1; j < n;j++ )
{
if (s[i]>s[j])//从小到大排列
{
zhong = s[i];
s[i] = s[j];
s[j] = zhong;
}
}
}
Console.WriteLine("最高分为:"+s[n-1]);
Console.WriteLine("最低分为:" + s[0]);
for (int i = 2; i < n - 2; i++)//去掉两个最高分,去掉两个最低分
{
sum += s[i];
}
Console.WriteLine("去掉两个最高分,去掉两个最低分平均分为:"+sum/(n-4));
Console.ReadLine();
五个候选班长,20人投票。(输入1-5来表示支持哪个人)最后查看票数,看那个人胜出。
int[] s=new int[20];
for(int i=0;i<20;i++)
{
Console.Write("请问你支持的候选人是几号:");
for (; ; )
{
int a = int.Parse(Console.ReadLine());
if (a < 1 || a > 5)
Console.Write("输入有误,请重新输入您支持的候选人号码:");
else
{
s[i] = a;
break;
}
}
}
int s1 = 0, s2 = 0, s3 = 0, s4 = 0, s5 = 0;
for (int j = 0; j < 20; j++)
{
if(s[j] ==1)
s1 += 1;
if (s[j] == 2)
s2 += 1;
if (s[j] == 3)
s3 += 1;
if (s[j] == 4)
s4 += 1;
if (s[j] == 5)
s5 += 1;
}
if (s1 >= s2 && s1 >= s3 && s1 >= s4 && s1 >= s5)
Console.Write("一号 ");
if (s2 >= s1 && s2 >= s3 && s2 >= s4 && s2 >= s5)
Console.Write("二号 ");
if (s3 >= s2 && s3 >= s1 && s3 >= s4 && s3 >= s5)
Console.Write("三号 ");
if (s4 >= s2 && s4 >= s3 && s4 >= s1 && s4 >= s5)
Console.Write("四号 ");
if (s5 >= s2 && s5 >= s3 && s5 >= s4 && s5 >= s1)
Console.Write("五号 ");
Console.WriteLine("获胜");
以上是关于3.13·········冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章