C语言 | 您所在的位置:网站首页 › 我国省份大小排序表图片 › C语言 |
1.方法思想
数组在C语言中即为数据类型相同的一组数,将一组无规则数按大小依次排序并输出,可以采取冒泡排序的思想,所谓冒泡排序就是数字像汽水中的气泡一样总是向某个方向前进,最终到达最终点。 假设我们定义了一组数组,从左到右 a[0] ~ a[9] 共10个数组元素,将a[0]与a[1]对比,如果a[0]大于等于a[1],就将二者的数对换(注意这里是将两者代表的数交换大小,而不是将1和0交换,a[1]和a[0]相当于两个容器,是用来装数字的),这样大的数就处于右边,否则不做处理,再比较 a[1]与a[2],同样的大数放右边,以此类推一直比对到a[9],那么第一轮下来,整个数组中最大的数一定是a[9],同理,我们进行第二轮,由于第一轮中已经确定a[9]是最大的数了,所以只要对剩下的9个数重复一遍操作,第二轮结束后就可以得到 a[8] printf("input a[i] when i=%d\n",i); scanf("%d",&a[i]);/*依次输入a[0]至a[9]的值*/ } for(i=0;i if(a[s]>=a[s+1]) { medium=a[s];/*medium是交换媒介*/ a[s]=a[s+1]; a[s+1]=medium; }/*if语句实现大数右移的功能*/ }/*s的循环语句与if语句结合实现上文中所说的每一轮操作中将最大数移动至最右方*/ printf("%d ",a[9-i]);/*每一轮比较后输出本轮中最大的数,事实上就是排序,a[9-i]就是每轮中最大的数*/ }/*i的循环就是实现多轮操作,即第一轮比较结束后进行第二轮,一直重复到第九轮*/ 3.完整程序如下: #include int main() { int a[10],i,s,medium;/*定义一个数组及变量,数组元素共10个*/ for(i=0;i |
CopyRight 2018-2019 实验室设备网 版权所有 |