又是C语言!

从键盘输入6个待排序的数据存放到数组a中,使用冒泡排序的方法将该数组进行升序排序。main函数中从键盘输入6个数据给数组a,冒泡排序后输出结果到屏幕上。源程序命名为a22... 从键盘输入6个待排序的数据存放到数组a中,使用冒泡排序的方法将该数组进行升序排序。main函数中从键盘输入6个数据给数组a,冒泡排序后输出结果到屏幕上。源程序命名为a22.c。

“冒泡法排序”的思想是:依次比较相邻的两个数,将小数放在前面,大数放在后面。

即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。

在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。

【测试数据与运行结果】

第一组

请输入6个整数:

输入:78 76 90 5 45 53

输出:升序排序后的数组是:

5 45 53 76 78 90

第二组

请输入6个整数:

输入:8 2 6 7 1 3

输出:升序排序后的数组是:

1 2 3 6 7 8

第三组

请输入6个整数:

输入:5 4 3 2 1 0

输出:升序排序后的数组是:

0 1 2 3 4 5

#include "stdio.h"

int main( )

{int a[128], i, j, n=6,temp;

printf("请输入6个整数:\n");

for(i=0; i<n; i )

scanf("%d",&a[i]);

【请在此处完善程序】

for(i=0; i<n-1; i )

for(j=0; j<n-1-i; j )

if (a[j]>a[j 1])

{ temp=a[j];

a[j]=a[j 1];

a[j 1]=temp;

}

printf("升序排序后的数组是:\n");

fprintf(fp,"升序排序后的数组是:\n");

for( i=0;i<n;i )

printf("]",a[i]);

}
展开
 我来答
听不清啊
高粉答主

2020-05-07 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部

#include "stdio.h"

int main( )

{ int a[128], i, j, n=6,temp;

  printf("请输入6个整数:\n");

  for(i=0; i<n; i++)

    scanf("%d",&a[i]);

  for(i=0; i<n-1; i++)

    for(j=0; j<n-1-i; j++)

      if (a[j]>a[j+1])

      { temp=a[j];

        a[j]=a[j+1];

        a[j+1]=temp;

      }

  printf("升序排序后的数组是:\n");

  for(i=0; i<n; i++)

    printf("%d ",a[i]);

}

一变班爱麻啊堡0J
高粉答主

2020-06-08 · 醉心答题,欢迎关注
知道答主
回答量:11.4万
采纳率:2%
帮助的人:5487万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式