(查找比较) 此时right指针走到数字4时,和基准数字5比较后,显然小于。此时right指针应该停下。 ②左指针查找比较 接下来让left指针开始查找大于基准数字5的数字,走到数字8时,和基准数字5比较显然大于,left指针停下。(查找比较) ③交换 现在left指针和right指针都指向了一个数字,接下来拿出这两个数字进行位置交换。(...
用选择排序法编写c语言,实现从键盘上输入10个数,按从大到小的顺序排序输出。代码如下:include<stdio.h> int main(){ int i,j,a[10],t;printf("输入数");for (i = 0; i < 10; i++)scanf("%d",&a[i]);for (i = 0; i < 10; i++){ for (j = i + 1; j < 10;j...
用数组来存放十个数字,使用“冒泡排序”来实现排序。10个数字需进行9轮扫描,每次扫描时比较相邻的二个数,如它们不符合要求的大小关系,就交换它们的位置。第一轮扫描结束时,最大的数就“沉”到最后。于是第二的范围就少了一个数。再进行第二两栖型、第三轮,…——直到第9轮就完成了。最后输出...
for(i=0;i<10;i++)//循环输出10个数 { printf("%d ",array[i]); } printf("\n");//换行 return 0;//函数返回值为0 } 编译运行结果如下: 代码语言:txt 复制 请输入十个数:9 8 4 1 6 2 7 4 10 9 按照从小到大的顺序排序:1 2 4 4 6 7 8 9 9 10 --- Process exited after 20....
printf("\n输入的十个数字如下:\n");for(i=0;i<N;i++)printf("%5d",a[i]);printf("\n");for(i=0;i<N-1;i++){ min=i;for(j=i+1;j<N;j++)if(a[min]>a[j]) min=j;tem=a[i];a[i]=a[min];a[min]=tem;} printf("排序后:\n");for(i=0;i<N;i++)pri...
int main(){ int number[10] = {95, 45, 15, 78, 84, 51, 24, 12,34,23};for (int j = 0; j < 9; j++)for (int i = 0; i < 9 - j; i++) { if(a[i] > a[i + 1]) { int temp = a[i];a[i] = a[i + 1];a[i + 1] = temp; } } fo...
include<stdio.h>int main(){ int nums[11],i,j,n=5; printf("输入10个数字:\n"); for(i=0;i<10;i++) scanf("%d",&nums[i]); for(i=0;i<10;i++) for(j=i+1;j<10;j++) if(nums[i]>nums[j])//想要降序,这里改'<' { nums[i]^=nu...
void Swap(int *a,int *b){ int tmp ;tmp = *a;a = *b;b = tmp;} void Sort(int a[],int size,int val){ int i,j;for(i=0;i<size-1;i++)for(j=i+1;j<size;j++){ if(val==1)//降序排列 { if(a[i]a[j])Swap(&a[i],&a[j]);} } } int main(){ ...
冒泡是十个数字中从第一个开始,1和2比,2和3比,3和4比,4和5比依次这样,把两者最小的换到前面去,只要两者之间有比较就是还没排好。而选择排序是从第一个开始把最小的数字和它的位置记下来,然后把第一个数字和找到的最小的数交换位置,然后第二个和后面的比较,如此下去。include <stdio....
for(i=0;i<10;i++) printf("%d",a[i]); // printf("%d",&a[i]); printf("\n"); return 0;}你排序那块写的有点乱,冒泡算法宗旨是:第一遍循环(内层循环for(i=j+1; i<10; i++),j==0时)选出最大,第二遍循环(j==1时的内层循环)选出第二大的数,依...