79 lines
1.8 KiB
Markdown
79 lines
1.8 KiB
Markdown
---
|
|
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;
|
|
}
|
|
```
|