程序举例2:用起泡法对10个数排序(由小到大)。 起泡法的思路是:将相邻两个数比较,将小的调到前头。 第 一 趟 比 较 经过第一趟(共5次比较与交换)后,最大的数9已“沉底” 。然后进行对余下的前面5个数第二趟比较, 注点赞(0) 踩踩(0) 反馈 ...
printf("%5d",a[i]);getch();return 0;}再来看看选择法:所谓选择法,就是将第一个数与余下的所有的数都进行比较,如果第一个数比其他数都小,则不进行交换,如果余下的数有一个以上比第一个数小,则将其中最大的一个与第一个数交换,这样一趟比较下来,第一个数就存放了最小的数。起泡...
printf("input 10 numbers:\n"); for (i = 0; i < 10; i++) { scanf("%d",&a[i]); } printf("\n"); for (j = 0; j<9; j++)//进行9次循环,实现9趟比较 { for (i = 0; i < 9 - j; i++)//在每一趟中进行9-j次比较 { if (a[i] > a[i + 1])//相邻两个数比较...
int a[10] = {5,1,6,9,8,3,4,6,10,7};; //待排序整型数组 int temp= 0; //中间变量 //冒泡法排序实现从小到大排序 for(int i=0;i<10;i++) //进行10次循环 { for(int j=i+1;j<10;j++) //循环比较剩余的变量 { if(a[i] > a[j]) //如果前面一个数比后面数大...
include<stdio.h>int main(){int arr[]={2,3,43,-2,343,7,67,65,45,55};int i,j,temp;/*要是从键盘输入的话 就增加下面一段代码:for(i=0;i<10;i++){printf("请输入第%d个数:",(i+1));scanf("%d",arr[i]);}*/for(i=0;i<10;i++){for(j=0;j<10-i-1;j++){...
冒泡法#include<stdio.h>int main(){ int a[10] = {10,23,2,24,20,9,22,8,53,100}; int i,j,t; for(i = 9;i >= 0;i--) for(j = 0;j< i;j++) if(a[j] > a[j+1]){ t = a[j]; a[j] = a[j+1]; a[j+1] = t; } ...
你输入的是十个数,在控制循环中只输入了9个数, 输出中要有间隔,才能更清晰:另外说一下,最好代码要规范一下:include<stdio.h>int main(){ void order(int a[10]); int a[10],i; printf("please input 10 numbers:\n"); for(i=0;i<10;i++)///9 to 10 scanf...
在visual C++ 6.0上,用C语言编写,输入10个数,用起泡法从小到大排序和从大到小排序的程序 工具/原料 visual C++ 6.0 方法/步骤 1 打开visual C++ 6.0-文件-新建-文件-C++ Source File 2 输入预处理命令和主函数:#include<stdio.h> /*输入输出头文件*/void main() /*空类型:主函数*/ 3...
void sort(int *x,int n){ int i,j,k,t;k=1; //增加交换标志 for(i=0;i<n-1&&k;i++){ k=0;/*j<n-i应该改为j<n-1-i,否则数组越界了*/ for(j=0;j<n-1-i;j++)/***FOUND***/ if(x[j]>x[j+1]) //这儿是不是把i敲成j了 { t=x[j];x[j]=x[j...
问题: 有10个地区的面积,要求对他们按由小到大的顺序排列。 解析: 这种问题称为数的排序。排序的规律有两种:一种是“升序”,从小到大;另一种是“降序”,从大到小。可以把这个题目抽象为一般形式“对n个数按升序排序”。 排序的方法有很多种,本例用“起泡法”排序。“起泡法”的基本... 查看原文 MySQL...