6-1 数组指针与二维数组的关系
利用数组指针p将main函数中输入的二维数组a的所有元素输出, 要求先按行的顺序输出,然后再以列的顺序输出, 其中输出整型格式用 “%3d”, (测试用数据大小不要超过2位数)。
参考代码:
void reOut(int (*p)[3]) {
int i, j;
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++)
printf("%3d", p[i][j]);
printf("\n");
}
for (i = 0; i < 3; i++) {
for (j = 0; j < 2; j++)
printf("%3d", p[j][i]);
printf("\n");
}
}
6-2 利用函数指针实现递增或递减排序
本题要求实现一个函数,根据主程序运行提示完成一组整数的递增或递减排序。
参考代码:
static void sortAorD(int *array, int n, int (*compare)(int a, int b)) {
int i, j, t;
for (j = 0; j < n-1; j++) {
for (i = 0; i < n-1-j; i++) {
if ((*compare)(array[i],array[i+1])) {
t = array[i];
array[i] = array[i+1];
array[i+1] = t;
}
}
}
}