- 实例要求:
- 要求利用C语言的库函数
int rand(void)
返回一个范围在 2 到200 之间的10个整数值。 - 利用冒泡排序以降序的方式把这10个整数值进行排序,并输出排序前的10个整数和排序后的10个整数。
- 代码实现:
#include<stdio.h>
#include<stdlib.h>
void my_sort(int *a,int n);
int main(int argc,const char *argv[]){
int p[10] = {0};
for(int i = 0;i < 10; i++){
*(p+i) = rand()%200+2;
}
printf("冒泡排序后:");
for(int i = 0; i<10;i++){
printf("%d ",*(p+i));
}
my_sort(p,10);
printf("\n");
printf("冒泡排序后:");
for(int i = 0; i<10;i++){
printf("%d ",*(p+i));
}
putchar('\n');
return 0;
}
void my_sort(int *a,int n){
int k = 0;
int j = 0;
for(k = 0;k < n-1;k++ ){
for(j = 0;j < n-1-k;j++){
if(*(a+j) < *(a+j+1)){
int temp = *(a+j);
*(a+j) = *(a+j+1);
*(a+j+1) = temp;
}
}
}
}
冒泡排序后:185 88 179 117 195 137 188 94 51 23
冒泡排序后:195 188 185 179 137 117 94 88 51 23