- //数组思考练习
- //int arr[6]={1,2,4,3,8,5};
- //1编写一个函数求这个数组的最值
- //2给这个数组从大到小排序
- #include<stdio.h>
- int max(int a[],int n); //获取数组的最大值 max(数组 数组长度)
- int bubbleSort(int b[],int m); //冒泡排序 bubbleSort(数组 数组长度)
- int selectSort(int c[],int n); //选择排序 selectSort(数组 数组长度)
- int main(){
- int arr[6]={1,2,4,3,8,5};
- int len=sizeof(arr)/sizeof(int);
- max(arr,len);
- bubbleSort(arr,len);
- int arr2[9]={1,2,4,3,8,5,6,7,9};
- int len2=sizeof(arr2)/sizeof(int);
- selectSort(arr2,len2);
- return 0;
- }
- int max(int a[],int n){//求数组的最大值
- int max=0;//用来存最大值
- for (int i=0; i<n; i++) {
- if (a[i]>max) {//若当前值大于max,则将其赋值给max
- max=a[i];
- }
- }
- printf("最大值是%d\n",max);
- return 0;
- }
- int bubbleSort(int b[],int m){//冒泡排序
- int tem=0;
- printf("排序前:\n");
- for (int j=0; j<m; j++) {
- printf("%d\t",b[j]);
- }
- printf("\n");
-
- for (int i=0; i<m; i++) {
- for (int j=m-1; j>i; j--) {
- if (b[j]>b[j-1]) {
- tem=b[j];
- b[j]=b[j-1];
- b[j-1]=tem;
- }
- }
- }
- printf("冒泡排序后:\n");
- for (int j=0; j<m; j++) {
- printf("%d\t",b[j]);
- }
- printf("\n");
- return 0;
- }
- int selectSort(int c[],int n){//选择排序
- int tem;
- int num;
- printf("排序前:\n");
- for (int j=0; j<n; j++) {
- printf("%d\t",c[j]);
- }
- printf("\n");
- printf("选择排序后:\n");
- for (int i=0; i<n; i++) {
- tem=c[i];
- for (int j=n-1; j>i; j--) {
- if (c[j]>tem) {//若当前值大于tem,则将其赋值给tem
- tem=c[j];
- c[j]=c[i];
- c[i]=tem;
- }
- }
- }
- for (int k=0; k<n; k++) {
- printf("%d\t",c[k]);
- }
- printf("\n");
- return 0;
- }
复制代码 |
|