c语言起泡法排序函数 c语音起泡法

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);
}
扩展资料:
printf函数使用注意事项
1、域宽
%d:按整型数据c语言起泡法排序函数的实际长度输出 。
如果想输出指定宽度可以指定域宽c语言起泡法排序函数,%md--gt;m域宽,打印出来以后,在控制台上 , 显示m位;
如果我们要打印的数的位数如果超过我们设定m则原样输出;
如果我们要打印的数的位数如果小于我们设定的位数,则补空白,具体如下:
如果m为正数,则左对齐(左侧补空白);
如果m为负数,则右对齐(右侧补空白) 。
2、转义字符
如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示 。
如:printf("%f%%",1.0/3);输出结果:0.333333% 。
C语言冒泡排序法是什么?冒泡排序法,是C语言常用的排序算法之一,意思是对一组数字进行从大到小或者从小到大排序的一种算法 。
具体方法是:
相邻数值两两交换 。从第一个数值开始,如果相邻两个数的排列顺序与我们的期望不同 , 则将两个数的位置进行交换(对调);如果其与我们的期望一致 , 则不用交换 。重复这样的过程,一直到最后没有数值需要交换,则排序完成 。
C语言常见的排序算法:
1、冒泡排序
基本思想:比较相邻的两个数,如果前者比后者大 , 则进行交换 。每一轮排序结束,选出一个未排序中最大的数放到数组后面 。
2、快速排序
基本思想:选取一个基准元素 , 通常为数组最后一个元素(或者第一个元素) 。从前向后遍历数组,当遇到小于基准元素的元素时,把它和左边第一个大于基准元素的元素进行交换 。在利用分治策略从已经分好的两组中分别进行以上步骤 , 直到排序完成 。
3、直接插入排序
基本思想:和交换排序不同的是它不用进行交换操作,而是用一个临时变量存储当前值 。当前面的元素比后面大时,先把后面的元素存入临时变量 , 前面元素的值放到后面元素位置 , 再到最后把其值插入到合适的数组位置 。
4、直接选择排序
基本思想:依次选出数组最小的数放到数组的前面 。首先从数组的第二个元素开始往后遍历,找出最小的数放到第一个位置 。再从剩下数组中找出最小的数放到第二个位置 。以此类推,直到数组有序 。
以上内容参考百度百科-排序算法、百度百科-c语言冒泡排序

用C语言写一个函数,用“起泡法”对输入的10个整数按从小到大顺序排列你输入c语言起泡法排序函数的是十个数c语言起泡法排序函数,在控制循环中只输入了9个数,输出中要有间隔,才能更清晰c语言起泡法排序函数:
另外说一下,最好代码要规范一下:
#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

推荐阅读