永发信息网

c语言中用冒泡排序法排列任意输入的10个数,用程序输出从小到大的排列具体过程,谢谢。。

答案:5  悬赏:0  手机版
解决时间 2021-02-13 14:30
c语言中用冒泡排序法排列任意输入的10个数,用程序输出从小到大的排列具体过程,谢谢。。
最佳答案
#include<stdio.h> void main() { int a[10]; int i,j,t; printf("请输入10个整数:"); for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<9;i++) for(j=0;j<9-i;j++) if(a[i]>a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } printf("从小到大:"); for(i=0;i<10;i++) printf("%5d",a[i]); printf("\n"); }
全部回答
1.冒泡法: 这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡: #include <iostream.h> void BubbleSort(int* pData,int Count) { int iTemp; for(int i=1;i<Count;i++) { for(int j=Count-1;j>=i;j--) { if(pData[j]<pData[j-1]) { iTemp = pData[j-1]; pData[j-1] = pData[j]; pData[j] = iTemp; } } } } void main() { int data[] = {10,9,8,7,6,5,4}; BubbleSort(data,7); for (int i=0;i<7;i++) cout<<data[i]<<
//回答补充,晕,原来是这样的过程,我把以前的过程删除了,下面: #include <stdio.h> #define N 10 int main() { int nArray[N]; int i=0,n=1; printf("请输入数组数据:\n"); for(i=0;i<N;i++) { scanf("%d",&nArray[i]); } printf("原始数据为:\n"); for(i=0;i<N;i++) { printf("%d ",nArray[i]); } printf("\n"); //开始冒泡 printf("\n排序过程:\n"); int temp; for(i=N-1;i>0;i--) { for(int j=0;j<i;j++) { if(nArray[j]>nArray[j+1])//由大到小排则修改为<号 { temp=nArray[j]; nArray[j]=nArray[j+1]; nArray[j+1]=temp; //printf("第%d个%-5d 同 第%d个%-5d 交换\n",j,nArray[j],j+1,nArray[j+1]); printf("第%d步:\t",n); for(int k=0;k<N;k++) { printf("%d ",nArray[k]); } printf("\n"); n++; } } } printf("排序过程结束\n\n"); //结束冒泡 printf("排序结果:\n"); for(i=0;i<N;i++) { printf("%d ",nArray[i]); } printf("\n"); return 0; }
printf("plese input the number\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) for(j=1;j<n-i ;j++) if(a[j-1]>a[j] ) { temp=a[j-1]; a[j-1]=a[j]; a[j]=temp; } for(i=0;i<10;i++) printf("%d ",a[i]);
#include <stdio.h> int main() {     int a[10] = {0};     int i, j;     for(i = 0;i < 10;i++)         scanf("%d", &a[i]);     for(i = 0;i < 10;i++)         for(j = i+1;j<10;j++)             if(a[i] > a[j])             {                 int tmp = a[i];                 a[i] = a[j];                 a[j] = tmp;             }      printf("排序之后为:\n");     for(i = 0;i < 10;i++)         printf("%d\t", a[i]);     printf("\n"); }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
冰雨拉丁舞培训中心地址在哪,我要去那里办事
(7分)如图是培育的长春冬小麦(品种“吉株
北京中唐芪丹颈肩腰腿疼研究院这个地址在什么
福建省莆田市第一中学详细地址
160G机械硬盘和西数 WDC WD5000AAKX-00ERMA0
油烟机到底有必要用橱柜包起来吗
求助,请好心的大佬帮帮忙,我这是什么情况,
龙庆舞蹈艺术学校地址在什么地方,我要处理点
香港88裤业在什么地方啊,我要过去处理事情
有一岩石手标本,外观呈肉红色,肉眼可见结晶
舞艺艺术培训中心怎么去啊,我要去那办事
突破上篮用英语怎么说
潮流这个地址在什么地方,我要处理点事
华夏舞韵青少年艺术培训中心(站东店)怎么去啊
求hp《无语的穿越》
推荐资讯
10大国产减震器,有车友可以回答一下这个问题
富洋装饰地址有知道的么?有点事想过去
千里香钓鱼怎么用
中国移动(国动公司营业厅)怎么去啊,我要去那
中国福利彩票(红旗楼南街)地址在哪,我要去那
毋宁和毋庸的区别
周生生珠宝(梅川友谊店)地址在什么地方,想过
福田时代塞锐2850是4d18e是多大发动机
福特蒙迪欧正时链条怎么对,有车友可以回答一
电动汽车充电模块加工,有车友可以回答一下这
辽宁省凌海市最好·最有前景的地理位置是哪里
龙叫在哪里啊,我有事要去这个地方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?