C语言初学者,要用冒泡法对随机输入的数进行排序,用函数怎么写,谢谢
答案:2 悬赏:50
解决时间 2021-01-31 14:52
- 提问者网友:千城墨白
- 2021-01-31 05:42
C语言初学者,要用冒泡法对随机输入的数进行排序,用函数怎么写,谢谢
最佳答案
- 二级知识专家网友:末路丶一枝花
- 2021-01-31 06:03
#include
void main()
{
int a[1000],n,m,j,k,temp;
printf("要输入元素的个数:");
scanf("%d",&n);
printf("请输入数字:");
for(m=0;m
scanf("%d",&a[m]);
for(j=0;j
for(k=0;k
{
if(a[k]>a[k+1])
{
temp=a[k];
a[k]=a[k+1];
a[k+1]=temp;
}
}
printf("这%d个数按由小到大的顺序输出为:",n);
for(m=0;m
printf("%d ",a[m]);
}
void main()
{
int a[1000],n,m,j,k,temp;
printf("要输入元素的个数:");
scanf("%d",&n);
printf("请输入数字:");
for(m=0;m
for(j=0;j
if(a[k]>a[k+1])
{
temp=a[k];
a[k]=a[k+1];
a[k+1]=temp;
}
}
printf("这%d个数按由小到大的顺序输出为:",n);
for(m=0;m
}
全部回答
- 1楼网友:蜜罐小熊
- 2021-01-31 07:30
tag相当于一个bool变量,当在第i遍扫描排序数组data后,tag如果为0,就认为data已从小到大排好序,排序终止。
原因:从程序段
for(j=0;jdata[j+1]){
temp=data[j];data[j]=data[j+1];data[j+1]=temp;
tag=1;
中可以看出,如果有交换操作,则tag会置为1,但如果没有交换,那么数组data中的每一个数都比排在它后面的数小,那么就证明数组data已经完成升序排序了,于是tag=0,排序终止。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯