冒泡排序(C语言实现)
作者:
DCBXZ | 来源:发表于
2021-02-03 09:37 被阅读0次输入10个整数,按从小到大的顺序输出。注意内层循环是n-1-i,如果写成n-i的话(比如写成j<10-i),第一趟循环的时候可能会造成越界:第一趟的时候i=0,j<10,意味着 j 最大可以取到9,但if语句里面有个a[j+1]也就是a[10],会造成越界。(才疏学浅,欢迎指正)
#include <stdio.h>
int main() {
int a[10]={0};
int temp=0;
for(int i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
//冒泡排序
for(int i=0;i<9;i++) //排列n个数,只需要循环n-1次即可
{
for(int j=0;j<9-i;j++) //内层循环每次循环n-1-i次
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(int i=0;i<10;i++)
{
printf("%d\n",a[i]);
}
return 0;
}
本文标题:冒泡排序(C语言实现)
本文链接:https://www.haomeiwen.com/subject/verptltx.html
网友评论