C语言定义起泡法函数 c++起泡法

用C语言写一个函数,用“起泡法”对输入的10个整数按从小到大顺序排列你输入的是十个数,在控制循环中只输入了9个数 ,  输出中要有间隔,才能更清晰:
另外说一下,最好代码要规范一下:
#includestdio.h
int main()
{
void order(int a[10]);
int a[10],i;
printf("please input 10 numbers:\n");
for(i=0;i10;i++)////////////////9 to 10
scanf("%d",a[i]);
printf("output the numbers:\n");
order(a);
for(i=0;i10;i++)////////////////9 to 10
printf("%d ",a[i]);/////////////空格
printf("\n");
}
void order(int a[10])
{
int i,j,k;
for(i=0;i9;i++)
for(j=0;j9-i;j++)
if(a[j]a[j+1])
{
k=a[j];
a[j]=a[j+1];
a[j+1]=k;
}
}
c语言中,什么是起泡法冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数C语言定义起泡法函数,将小数放在前面,大数放在后面 。即在第一趟:首先比较第1个和第2个数 , 将小数放前,大数放后 。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后 。至此第一趟结束,将最大的数放到C语言定义起泡法函数了最后 。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数) , 将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数) 。如此下去,重复以上过程,直至最终完成排序 。由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序 。
C语言 写一函数用“起泡法”对输入的10个字符由大到小顺序排序用VC编写:
#include "iostream.h"
main(void)
{
int i,j;
int t[10];
cout"请输入10个数字:";
for(i=0;i10;i++)
cint[i];
for(i=0;i9;i++)
{
k=t[i];
for(j=i+1;j10;j++)
if(t[j]k) k=t[j];
if(k!=t[i]) t[j]=t[i];t[i]=k;
}
for(i=10;i=0;i--)
coutt[i];
}
我给出的程序只能对数字进行排序,字母还要另外编写...没办法一个程序实现...
C语言 起泡法在函数void sort(char string[]) 中,应该讲第二个循环的判断条件改为
for(i=0;i9string[i+1]!='\0';i++)
原因:
若判断string[i]不为零时,而string[i+1]为零,i位会和i+1位互换,下次循环判断string[i+1]时就不为零了,造成循环多了 。最终‘\0’会被排到首地址,就什么也不会输出
【C语言定义起泡法函数 c++起泡法】关于C语言定义起泡法函数和c++起泡法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读