冒泡法
#include<stdio.h>main()
{
int n,i,j,a,t=0;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a);
for(i=0;i<n;i++)
for(j=0;j<n-i;j++)
if(a>a)
{t=a;
a=a;
a=t;
}
for(i=0;i<n;i++)
printf("%d ",a);
}
结果为3
2 3 1
0 1 2
为什么呀,大佬们! 本帖最后由 jhq999 于 2021-11-24 17:28 编辑
int main()
{
int n,i,j,a,t=0;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a);
for(i=0;i<n-1;i++)
for(j=0;j<n-i-1;j++)//如果j<n-i,i=0,j=n-1,j+1=n,数组越界
{
if(a>a)
{
t=a;
a=a;
a=t;
}
}
for(i=0;i<n;i++)
printf("%d ",a);
return 0;
}
把排序代码改掉试试
#include<stdio.h>
int main(void)
{
int a , i , j, n , t ;
scanf("%d",&n) ;
for(i = 0 ; i < n ; i ++) scanf("%d" , & a) ;
for(i = 0 ; i < n - 1 ; i ++) {
for(j = i + 1 ; j < n ; j ++) {
if(a > a) {
t = a ;
a = a ;
a = t ;
}
}
}
printf("%d" , a) ;
for(i = 1 ; i < n ; i ++) printf(" %d" , a) ;
printf("\n") ;
} jackz007 发表于 2021-11-24 17:26
把排序代码改掉试试
谢谢您{:10_250:} jhq999 发表于 2021-11-24 17:25
谢谢您 来学习
页:
[1]