今天学了些什么呢?回忆下:主要搞了一下 指针的进阶,指针数组和数组指针,这大抵是相当抽象的东西,确实很难学啊,绕来绕去的,但是不必多言——为什么要攀登珠穆朗玛峰?因为它就在那儿!
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
/*int main()
{int arr1[] = { 1,2,3,4,5 };int arr2[] = { 2,3,4,5,6 };int arr3[] = { 3,4,5,6,7 };int* p[3] = { arr1,arr2,arr3 };//指针数组进行存储,每个元素相当于一个数组int i, j;for (i = 0; i < 3; i++){for (j = 0; j < 5; j++){printf("%d ", p[i][j]);}printf("\n");}
}*/
int main()
{/*int arr[] = { 1,2,3,4,5,6,7,8,9 };//数组指针与一维数组int (*p)[9] = &arr;int i = 0;for (i = 0; i < 9; i++){printf("%d ", *((*p) + i));}*/int arr[3][5] = { 1,2,3,4,5,2,3,4,5,6,3,4,5,6,7 };//数组指针与二维数组int(*p)[5] = &arr;int i = 0;for (i = 0; i < 3; i++){int j = 0;for (j = 0; j < 5; j++){printf("%d ", *((*p) + i) + j);}printf("\n");}return 0;
}
大部分时间都在研究指针去了,然后还学了一下排序(虽然很久以前就已经学了排序了),基础的冒泡排序可以说已经信手拈来了,然后还学了一下qsort的使用:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
void input(int arr[], int n)
{int i = 0;for (i = 0; i < n; i++){scanf("%d", &arr[i]);}
}
void sort(int arr[], int n)//简单的冒泡排序
{int i, j;printf("选择你的排序方式?\n1从大到小,2从小到大\n");int choice;scanf("%d", &choice);switch (choice){case 1:{for (i = 0; i < n - 1; i++){for (j = 0; j < n - 1 - i; j++){if (arr[j] < arr[j + 1]){int temp = arr[j + 1];arr[j + 1] = arr[j];arr[j] = temp;}}}break;}case 2:{for (i = 0; i < n - 1; i++){for (j = 0; j < n - 1 - i; j++){if (arr[j] > arr[j + 1]){int temp = arr[j + 1];arr[j + 1] = arr[j];arr[j] = temp;}}}break;}default:{printf("error\n");}}
}
void output(int arr[], int n)
{int i = 0;for (i = 0; i < n; i++){printf("%d ", arr[i]);}
}
int main()
{int arr[100];int n;scanf("%d", &n);input(arr, n);sort(arr, n);output(arr, n);return 0;
}
//int com(const void* e1, const void* e2)//需要给qsort函数传递比较的方法
//{
// return (*(int*)e1 - *(int*)e2);
//}
//int main()
//{
// int arr[] = { 10,9,8,7,6,5,4,3,2,1 };
// int sz = sizeof(arr) / sizeof(arr[0]);
// qsort(arr, sz, sizeof(int), com);//qsort函数与其需要的参数
// int i = 0;
// for (i = 0; i < sz; i++)
// {
// printf("%d ", arr[i]);
// }
// return 0;
//}
排序还是十分有用的,比如在数组的二分查找中,因为二分查找只能查找有序的数,所以说我们可以先排序再查找……
每天都是无比的充实,我们软件工程专业真是太好了(好好好),明天加油!