起泡法排序c语言函数 c语言用起泡法对10个字符从小到大排序

用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语言冒泡排序法代码冒泡排序是排序算法的一种,思路清晰 , 代码简洁,常被用在大学生计算机课程中 。“冒泡”这个名字的由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端 , 故名 。这里以从小到大排序为例进行讲解 。基本思想及举例说明
冒泡排序的基本思想就是不断比较相邻的两个数 , 让较大的元素不断地往后移 。经过一轮比较就,选出最大的数;经过第2轮比较,就选出次大的数 , 以此类推 。下面以对 3 2 4 1 进行冒泡排序说明 。
1.这个算法用rand函数产生新的要排序的数据,与已有的有序数列中的数据依次比较,如果遇到比他大的数据,就从该数据开始,一直交换到末尾,达到一个插入的效果 。从而形成有序的数列 。
2.此外,只用rand函数并不能达到真正随机的效果 。如果要实现真正随机的效果,还要配合srand函数才行 。
3.具体代码如下:#include "stdio.h"#include "stdlib.h"void main(){int a[10],temp,r; printf("请输入一个种子\n"); scanf("%d",r);srand(r); for(int i=0;i9;i)。
c语言,写一个函数,用起泡法对输入的10个字符按从小到大顺序排列#include stdio.h
#include stdlib.h
void sort(char s[], int n);//定义排序函数
int main()
{
char str[11];
printf("Please enter 10 charactor: ");//输入10个字符
gets(str);
sort(str, 10);//调用排序函数
system("pause");
return 0;
}
//排序函数(起泡法)
void sort(char s[], int n)
{
for (int i=0; in-1; i)
for (int j=0, t; jn-1-i; s[j]s[j 1]?t=s[j],s[j]=s[j 1],s[j 1]=t, j:j);
printf("Sort array: ");
puts(s);
}
扩展资料起泡法排序c语言函数:
printf函数使用注意事项
1、域宽
%d:按整型数据的实际长度输出 。
如果想输出指定宽度可以指定域宽起泡法排序c语言函数,%md--gt;m域宽,打印出来以后 , 在控制台上,显示m位起泡法排序c语言函数;
如果我们要打印的数的位数如果超过我们设定m则原样输出;
如果我们要打印的数的位数如果小于我们设定的位数,则补空白,具体如下:
如果m为正数,则左对齐(左侧补空白);
如果m为负数,则右对齐(右侧补空白) 。
2、转义字符
如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示 。
如:printf("%f%%",1.0/3);输出结果:0.333333% 。
C语言冒泡排序法是怎么排序的?C语言冒泡排序法的排序规则:
将被排序的记录数组R[1..n]垂直排列起泡法排序c语言函数,每个记录R看作是重量为R.key的气泡 。根据轻气泡不能在重气泡之下的原则起泡法排序c语言函数,从下往上扫描数组R:凡扫描到违反本原则的轻气泡,就使其向上"飘浮" 。如此反复进行 , 直到最后任何两个气泡都是轻者在上,重者在下为止 。
初始 R[1..n]为无序区 。
第一趟扫描 从无序区底部向上依次比较相邻的两个气泡的重量,若发现轻者在下、重者在上 , 则交换二者的位置 。
即依次比较(R[n],R[n-1]),(R[n-1],R[n-2]) , …,(R[2],R[1]);对于每对气泡(R[j 1],R[j]),若R[j 1].keyR[j].key,则交换R[j 1]和R[j]的内容 。第一趟扫描完毕时,"最轻"的气泡就飘浮到该区间的顶部,即关键字最小的记录被放在最高位置R[1]上 。
第二趟扫描 扫描R[2..n] 。
扫描完毕时,"次轻"的气泡飘浮到R[2]的位置上…… 最后,经过n-1 趟扫描可得到有序区R[1..n] 注意: 第i趟扫描时,R[1..i-1]和R[i..n]分别为当前的有序区和无序区 。扫描仍是从无序区底部向上直至该区顶部 。扫描完毕时,该区中最轻气泡飘浮到顶部位置R上,结果是R[1..i]变为新的有序区 。
c语言冒泡排序的编程为:
#include stdio.h
void sort(int *a,int len)
{int i=0;
int j;
int t;
for(i=0;ilen-1;i)[1]
{
for(j=0;jlen-i-1;j)
{
【起泡法排序c语言函数 c语言用起泡法对10个字符从小到大排序】if(a[j]a[j 1])
{
t=a[j];
a[j]=a[j 1];
a[j 1]=t;
}
}
}
}
int main(int argc, char *argv[])
{
int a[10]={
-999,2,3,77,12,88,0,-8,99,100
};
int i=0;
sort(a,10);
for(i=0;i10;i)
{
printf("%d ",a[i]);
}
return 0;
}
C语言冒泡排序 。#includestdio.h
void main()
{
int a[10];
int i,j,t;
printf("input 10 numbers:\n");
for(i=0;i10;i)
scanf("%d",a[i]);
for(j=0;j9;j) /*进行9次循环 实现9趟比较*/
for(i=0;i9-j;i) /*在每一趟中进行9-j次比较*/
if(a[i]a[i 1]) /*相邻两个数比较,想降序只要改成a[i]a[i 1]*/
{
t=a[i];
a[i]=a[i 1];
a[i 1]=t;
}
printf("the sorted numbers:\n");
for(i=0;i10;i)
printf(" %d",a[i]);
}
扩展资料起泡法排序c语言函数:
冒泡排序算法的运作
1、比较相邻的元素 。如果第一个比第二个大(?。┢鹋莘ㄅ判騝语言函数 , 就交换起泡法排序c语言函数他们两个 。
2、对每一对相邻元素作同样的工作 , 从开始第一对到结尾的最后一对 。这步做完后,最后的元素会是最大(?。┑氖?。
3、针对所有的元素重复以上的步骤,除起泡法排序c语言函数了最后已经选出的元素(有序) 。
4、持续每次对越来越少的元素(无序元素)重复上面的步骤,直到没有任何一对数字需要比较 , 则序列最终有序 。
简单的表示
#include stdio.h
void swap(int *i, int *j)
{
int temp = *i;
*i = *j;
*j = temp;
}
int main()
{
int a[10] = {2,1,4,5,6,9,7,8,7,7};
int i,j;
for (i = 0; i10; i)
{
for (j = 9; ji; j--)//从后往前冒泡
{
if (a[j]a[j-1])
{
swap(a[j], a[j-1]);
}
}
}
for (i = 0; i10; i)
{
printf("%d\n", a[i]);
}
return 0;
}
参考资料来源起泡法排序c语言函数:冒泡排序-百度百科
4. 写一个函数,用"起泡法"对输入的10个字符由小到大排序.#includelt;stdio.hgt;
#includelt;string.hgt;
int main(void){
void sort(char a[10]);//声明函数
char a[10];
int i;
printf("输入10个字符,中间不要有空格:\n");
for(i=0;ilt;10;i){
scanf("%c",alt;igt;);
}
sort(a);//调用函数
return 0
扩展资料:
用法:
1、printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息 。
格式输出,它是c语言中产生格式化输出的函数(在stdio.h中定义) 。用于向终端(显示器、控制台等)输出字符 。格式控制由要输出的文字和数据格式说明组成 。
要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义 。
简单点理解就是,在一段程序中你正确使用该函数 , 可以在该程序运行的时候输出你所需要的内容 。
2、printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中 。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件 。
printf()函数的调用格式为:printf("lt;格式化字符串gt;",lt;参量表gt;) 。
其中格式化字符串用于指定输出格式 。格式控制串可由格式字符串和非格式字符串两种组成 。
关于起泡法排序c语言函数和c语言用起泡法对10个字符从小到大排序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

    推荐阅读