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

这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/gjyycx/

这个作业要求在哪里:https://edu.cnblogs.com/campus/fzu/gjyycx/homework/15587

学号:102500405

姓名:刘诺涵

一.定义一个二维数组和指向该数组的指针,分别以数组下标和指针的形式引用数组各个元素进行赋值与输出。
说明:先定义一个二维数组,再由一个指针指向【4】的一维数组进行访问。
下标形式:使用两层for循环,外层控制行,内层控制列,输出时将下标和值都显示出来,方便验证。
指针形式:同样使用两层for循环,(p+i)为i行的首地址,(p+i)+j为第i行第j列元素的地址,最后输出即可。
QQ_1764139276731

二.构造螺旋方阵。对任意给定的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
说明:按照顺时针方向进行填充(上边界、右边界、下边界、左边界)每次都需要注意判断num是否小于等于n*n,确保所有数字被填充。
QQ_1764140384603

三.7门课程的成绩分别存放在score[n][1]、score[n][2]、...、score[n][7]中,第0列用来存放总成绩。请编写一个函数实现计算成绩表score中每一个学生7门课程的总成绩,并将总成绩存放在该学生的第0列中。请在main函数中构造数据测试你写的函数。
说明:使score数组每行有八列,第0行用于存放总成绩,通过循环累加七门成绩。
QQ_1764141507788

四.将以下定义的含义写出来。

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

a)int a:定义一个整型变量a
b)int a:定义一个指向整型变量a的指针
c)int **a:定义一个指向整型变量a的指针的地址
d)int a[10]:定义一个包含10个整型变量的数组a
e)int (a)[10]:定义一个包含10个整型变量的数组a的指针

五.给定一个二维数组,使用指针把数组中的数字复制到另一个数组中相同的位置。
说明:通过两层for循环遍历源数组的每个元素,使用指针操作  ((dest + i) + j) = ((src + i) + j) ,将源数组中位置  (i, j)  的元素值复制到目标数组的相同位置。
QQ_1764143839492

六.请编写一个函数,接受一个字符串指针作为参数,并返回该字符串的长度,不包括字符串结尾的空字符。
说明: 使用while循环,当指针指向的字符不是'\0'(字符串结束标志)时,length加1,同时指针向后移动一位( str++ ),指向下一个字符。
QQ_1764144238346

七.输出以下内容,并解释每一个输出内容的含义。

          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]));)

QQ_1764145250663

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

九.总结:本次作业针对二维数组与指针操作进行学习,要注意不同情况下指针所表示的定义,希望在后续学习中能够逐渐熟练运用。

posted @ 2025-11-26 16:48  刘诺涵  阅读(6)  评论(0)    收藏  举报