一道C#小程序题,麻烦各位大侠帮忙!

staticvoidMain(string[]args){inti,j,temp;int[]a=newint[5];Console.WriteLine("请输入5个整数:... static void Main(string[] args)
{
int i, j, temp;
int[] a = new int[5];
Console.WriteLine("请输入5个整数:");
for (i = 0; i < 5; i++)
{
Console.Write("请输入一个整数:");
a[i] = int.Parse(Console.ReadLine());
******************************************************************
for (j = i; j >= 1; j--)
{
if (a[j - 1] > a[j])
{
temp = a[j - 1];
a[j - 1] = a[j];
a[j] = temp;
}
else
break;
*********************************************************************
}
}
Console.Write("\n依次输出数组中的值:");
for (i = 0; i < 5; i++)
{
Console.Write("{0} ", a[i]);
}
Console.WriteLine();
}
我想问下,分隔线中的代码起到一个什么作用?最好详细点!
展开
 我来答
cnljli
2013-08-01 · 超过16用户采纳过TA的回答
知道答主
回答量:39
采纳率:0%
帮助的人:37.2万
展开全部
 if (a[j - 1] > a[j])
                   {
                       temp = a[j - 1];
                       a[j - 1] = a[j];
                       a[j] = temp;
                   }

是排序 就是你输入一个数字  就会当前你输入的和 以前的对比

如果前一位大于当前你输入的 则换位

否则跳过

追问
for (j = i; j >= 1; j--)这段代码为什么要这么编写呢?麻烦您了
追答
int[] a   这个数组   从你当前输入数字的索引开始  比较  一直减到 1  

不过为神马不到0呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ricetendto2
2013-08-01 · TA获得超过583个赞
知道小有建树答主
回答量:804
采纳率:0%
帮助的人:349万
展开全部
排序用的,定义一个临时变量temp,然后通过temp 可以将比过大小的数据值互换
比如 a[j-1]=2,a[j]=1,则比较完之后,a[j]=2,a[j-1]=1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hywok
2013-08-01
知道答主
回答量:49
采纳率:0%
帮助的人:25.5万
展开全部
这个不是传说中的冒泡法吗?用来排数的大小的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ts_redsun
2013-08-01
知道答主
回答量:12
采纳率:0%
帮助的人:6.3万
展开全部
你这段程序的意思是排序。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2f8b86c
2013-08-01
知道答主
回答量:52
采纳率:0%
帮助的人:22.1万
展开全部
这不就是冒泡排序,分隔线中间的代码是排序
追问
for (j = i; j >= 1; j--)这段代码为什么要这么编写呢?麻烦您了,主要含义是什么呢?为什么不是

for (j = 0; j <i-1; j++)呢?
追答
其实你不觉得这两个实现出来的效果都一样么,按照你下面的写法也可以啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式