编写函数用冒泡排序法对数组中的n个数据进行从小到大的排序。
我选择输入六个数字,于是编写了以下程序,但是并不能以正确的顺序输出。坑请编程大神为我解答疑惑!#include<stdio.h>intmain(){inta[6];int...
我选择输入六个数字,于是编写了以下程序,但是并不能以正确的顺序输出。坑请编程大神为我解答疑惑!
#include <stdio.h>
int main()
{int a[6];
int j,i,t;
printf("please input 6numbers:");
for(i=0;i<6;i++)
scanf("%d",&a[i]);
for(j=0;j<5;j++)
for(i=0;i<(5-i);i++)
if(a[i]>a[i+1])
{ t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
for(i=0;i<6;i++)
{
printf("%d\t",a[i]);
}
return 0;
} 展开
#include <stdio.h>
int main()
{int a[6];
int j,i,t;
printf("please input 6numbers:");
for(i=0;i<6;i++)
scanf("%d",&a[i]);
for(j=0;j<5;j++)
for(i=0;i<(5-i);i++)
if(a[i]>a[i+1])
{ t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
for(i=0;i<6;i++)
{
printf("%d\t",a[i]);
}
return 0;
} 展开
4个回答
展开全部
for(j=n,i=1;i<=n-k;i++,j--)//每趟找出最该趟所有数中最小的放在数组的最前面的位置
if(a[j]
评论
0
0
加载更多
if(a[j]
评论
0
0
加载更多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的第二个内层循环应该是:for(int i=0;i<(5-j);i++)
追问
为什么呢?加int之前没有错误,只是输出的数字不对,我加了int 之后六个错。。。。
追答
我写错了,原来你上面已经定义了int,你把int删了,(for i=0;i<(5-j);i++)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(j=0;j<6;j++)
{
for(i=j+1;i<6;i++)
{
if(a[j]>a[i])
{ t=a[j];
a[j]=a[i];
a[i]=t;
}
}
}
{
for(i=j+1;i<6;i++)
{
if(a[j]>a[i])
{ t=a[j];
a[j]=a[i];
a[i]=t;
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询