高级语言程序设计课程第七次个人作业

班级:https://edu.cnblogs.com/campus/fzu/2024C
作业要求:https://edu.cnblogs.com/campus/fzu/2024C/homework/13304
学号:102400202
姓名:高娅婷

第一题
(1)定义一个二维数组和指向该数组的指针,分别以数组下标和指针的形式引用数组各个元素进行赋值与输出。

第二题
(2)构造螺旋方阵。对任意给定的N,将1到N×N的数字从左上角第1个格子开始,按顺时针螺旋方向顺序填入N×N的方阵里。

输入格式:

输入在一行中给出一个正整数N(<10)。

输出格式:

输出N×N的螺旋方阵。每行N个数字,每个数字占3位。

输入样例:

5

输出样例:

1   2   3   4  5

16 17 18 19  6

15 24 25 20 7

14 23 22 21 8

13 12  11 10 9

问题:不知道怎么螺旋输出
解决:上网查询

第三题
(3)7门课程的成绩分别存放在score[n][1]、score[n][2]、...、score[n][7]中,第0列用来存放总成绩。请编写一个函数实现计算成绩表score中每一个学生7门课程的总成绩,并将总成绩存放在该学生的第0列中。请在main函数中构造数据测试你写的函数。

问题:只对s[0][0]初始化,导致剩下几行求和结果错误
解决:s[0][0]=0改成s[i][0]=0

第四题
(4)将以下定义的含义写出来。

a)int a;  b)int a;  c)int **a;  d)int a[10];  e)int (a)[10];

第五题
(5)给定一个二维数组,使用指针把数组中的数字复制到另一个数组中相同的位置。
问题:没有对数组x[4][4]初始化
解决:把数组x[4][4]初始化为0

第六题
(6)请编写一个函数,接受一个字符串指针作为参数,并返回该字符串的长度,不包括字符串结尾的空字符。

第七题
(7)输出以下内容,并解释每一个输出内容的含义。

int a[3][4] = {0};

printf("%d\n",sizeof(a));

printf("%d\n",sizeof(a[0][0]));

printf("%d\n",sizeof(a[0]));

printf("%d\n",sizeof(a[0]+1));

printf("%d\n",sizeof(*(a[0]+1)));

printf("%d\n",sizeof(a+1));

printf("%d\n",sizeof(*(a+1)));

printf("%d\n",sizeof(&a[0]+1));

printf("%d\n",sizeof(*(&a[0]+1)));

printf("%d\n",sizeof(*a));

printf("%d\n",sizeof(a[3]));)

问题:分不清楚sizeof(a[0]+1)和sizeof(*(&a[0]+1))
解决:上网查询

第八题
(8)键盘输入一个长度为len(1 <= len < 30)的字符串,再输入一个正整数 m(1 <= m <= len),将此字符串中从第 m 个字符开始的剩余全部字符复制成为另一个字符串,并将这个新字符串输出。要求用指针处理字符串。

问题:'\0'写成'/0'导致没有输出结果
解决:'/0'修改为'\0'

思考总结:还是分不太清楚部分指针变量表示的意思,编写关于指针的函数存在很多错误,还要多加练习。

posted @ 2024-11-13 23:46  bomple  阅读(2)  评论(0编辑  收藏  举报