利用冒泡方法对数组a的元素从小到大排序

利用冒泡方法对数组a的元素从小到大排序
#include<stdio.h>
void main()
{ int a[10],j,i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=1;i<10;i++)
for(j=0;j<10-i;j++)
{ if___________
{ int term=a[j];
a[j]=a[j+1];
_____________;
}
}
for(i=0;i<10;i++)
printf("%d",a[i]);
}
------------------------------------
{ if___________
{ int term=a[j];
a[j]=a[j+1];
_____________;
}
是啥意思?谢谢o(∩_∩)o...

我把整个程序都解释了一下,具体的意思如下。

#include<stdio.h>
void main()
{ int a[10],j,i; //定义了要进行排序的10个树和要进行循环的两个数
for(i=0;i<10;i++) //for循环输入10个数
scanf("%d",&a[i]); //这是C语言的输入格式
for(i=1;i<10;i++) //接下来就是冒泡排序的主要程序了,就是从第一个数开始循环,把剩下的几个数进行比较。看那个数比较小,就往前冒泡,这就是冒泡法。具体一点就是,第一个和后面九个数比较,把最小的冒泡移到了第一位,然后是第二个和后面8个比较,以此类推。

for(j=0;j<10-i;j++)
{ if__(a[j]_>a[j+1]) //如果a[j]大于a[j+1]的话,把他们交换数值
{ int term=a[j]; //这是设一个中间值进行交换
a[j]=a[j+1];
_a[j+1]=term;;
}
}
for(i=0;i<10;i++) //输出结果
printf("%d",a[i]);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-07-13
这个是c语言的冒泡法排序,
if___________
{ int term=a[j];
a[j]=a[j+1];
_____________;
完整的写法是
if(a[j]>a[j+1])
{ int term=a[j];
a[j]=a[j+1];
a[j+1]=term;
这是当a[j]>a[j+1]时将两个数互换,因为这个由小到大排序,所以要将小的全部排到前面去。
第2个回答  推荐于2016-04-27
利用冒泡方法对数组a的元素从小到大排序java程序如下:
import java.io.*;
class BubbleSort
{
public static void main (String[] args) {
Integer a[]={20,3,-2,60,15};
Integer temp;
for(int i=0;i<a.length;i++)
{
for(int j=0;j<a.length;j++)
{
if(a[i]<a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
//OutPut
for(int k=0;k<a.length;k++)
System.out.println(a[k]);

}
}

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
第3个回答  2008-07-13
#include<stdio.h>
void main()
{ int a[10],j,i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=1;i<10;i++)
for(j=0;j<10-i;j++)
{ if(a[j]>a[j+1])
{ int term=a[j];
a[j]=a[j+1];
a[j+1]=term;
}
}
for(i=0;i<10;i++)
printf("%d",a[i]);getch();
}
------------------------------------
{ if___________
{ int term=a[j];
a[j]=a[j+1];
_____________;
}
是填空题!上面填好了。如果a[j]>a[j+1];就交换a[j]和a[j+1]
第4个回答  2008-07-13
a[j]>a[j+1]

a[j+1]=term

如果前面的数比后面的数大,就交换他们
相似回答