今天学了些什么呢?回忆下:主要搞了一下 指针的进阶,指针数组和数组指针,这大抵是相当抽象的东西,确实很难学啊,绕来绕去的,但是不必多言——为什么要攀登珠穆朗玛峰?因为它就在那儿!
#define _CRT_SECURE_NO_WARNINGS
#include
/*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
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;
//}
排序还是十分有用的,比如在数组的二分查找中,因为二分查找只能查找有序的数,所以说我们可以先排序再查找……
每天都是无比的充实,我们软件工程专业真是太好了(好好好),明天加油!