C_TA_Website/source/_posts/homework8.md
2020-12-08 18:20:18 +08:00

1.8 KiB

title date tags mathjax
第八次作业(题目) 2020-12-08 16:08:00 true

P292-10

将一个 5 \times 5 的矩阵中最大的元素放在中心, 4 个角分别放 4 个最小元素(顺序为从左到右,从上到下依次从小到大存放),写一函数实现之。用 main 函数调用。

P292-12

在主函数中输入 5 个不等长的字符串。用另一函数对它们进行冒泡排序,用指针数组处理。然后主函数输出这 5 个已排好序的字符串。

P292-14

n 个数按输入时顺序的逆序排列,用函数实现。

P292-17

写一函数,实现两个字符串的比较。即自己写一个 strcmp 函数,函数原型为

int strcmp(char *p1, char *p2);

PPT第80页思考题

某数理化三项竞赛训练组有 3 个人,找出其中至少有一项成绩不合格者。要求使用指针函数实现。

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命令

#include <stdio.h>

int main(int argc, char* argv[])
{
    while (--argc > 0) {
        printf("%s%c", *++argv, (argc > 1) ? ' ' : '\n');
    }
    return 0;
}