C_TA_Website/source/_posts/homework8.md

80 lines
1.8 KiB
Markdown
Raw Permalink Normal View History

2020-12-08 18:20:18 +08:00
---
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 <stdio.h>
int main(int argc, char* argv[])
{
while (--argc > 0) {
printf("%s%c", *++argv, (argc > 1) ? ' ' : '\n');
}
return 0;
}
```