--- title: 第八次作业(题目) date: 2020-12-08 16:08:00 tags: mathjax: true --- # P292-10 将一个 $5 \times 5$ 的矩阵中最大的元素放在中心, $4$ 个角分别放 $4$ 个最小元素(顺序为从左到右,从上到下依次从小到大存放),写一函数实现之。用 `main` 函数调用。 # P292-12 在主函数中输入 $5$ 个不等长的字符串。用另一函数对它们进行冒泡排序,用指针数组处理。然后主函数输出这 $5$ 个已排好序的字符串。 # P292-14 将 $n$ 个数按输入时顺序的逆序排列,用函数实现。 # P292-17 写一函数,实现两个字符串的比较。即自己写一个 `strcmp` 函数,函数原型为 ```C int strcmp(char *p1, char *p2); ``` # PPT第80页思考题 某数理化三项竞赛训练组有 $3$ 个人,找出其中至少有一项成绩不合格者。要求使用指针函数实现。 ```C int *seek(int (*pnt_row)[3]) { int i = 0, *pnt_col; pnt_col = *(pnt_row + 1); for (; i < 3; i++) { if (*(*pnt_row + i) < 60) { pnt_col = * pnt_row; break; } } return pnt_col; } int main() { int grade[3][3] = {{55, 65, 75}, {65, 75, 85}, {75, 80, 90}}; int i, j, *pointer; for (i = 0; i < 3; i++) { pointer = seek(grade + i); if (pointer == *(grade + i)) { printf("No. %d grade list: ", i + 1); for (j = 0; j < 3; j++) { printf("%d ", *(pointer + j)); } printf("\n"); } } } ``` 思考:如何改为函数返回行指针? # PPT第95页例题 命令行参数举例——`echo`命令 ```C #include int main(int argc, char* argv[]) { while (--argc > 0) { printf("%s%c", *++argv, (argc > 1) ? ' ' : '\n'); } return 0; } ```