高级语言程序设计课程第六次个人作业
这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/2024C/
这个作业要求在哪里: https://edu.cnblogs.com/campus/fzu/2024C/homework/13303
学号:102400203
姓名:黄奕
(1)编写函数fun(int m, int k, int xx[]),将小于整数m的非素数存入xx数组中,个数由k返回。
忘记1也是非素数了
修改方案:在for循环前先让a[0]=1;然后后面从3开始找非负数给a[1].....
上面的代码修改后,结果应为1 4 6 8 9,元素个数为5
(2)编写函数,将长度为n的字符串从第m个字符开始的全部字符复制成另一个字符串。
(3)编写函数用冒泡法将数组按从小到大的顺序排列。
忘记怎么用循环去实现冒泡排序,通过翻看上课笔记了解
(4)将n个整数按输入顺序的逆序排列,要求应用带指针参数的函数实现。
数组的指针不太清除,总是报错
(5)写一个函数打印arr数组的内容,不使用数组下标,使用指针。
(6)编写程序,分别找出多个n×m数组的最大值、最小值,并输出两个值的下标。
不清楚如何去比较大小,如何找到最大最小值及其下标,后来发现可以用findlagest算法的思想
先给最大值一个超小值,然后数组中的元素去比较如果比较大,max就等于该元素,否则不变,
如此循环就可找到最大最小值和下标了
(7)判断上三角矩阵。上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。
本题要求编写程序,判断一个给定的方阵是否上三角矩阵。
用一个循环去判断它该为零的地方是否为0
(8)给定一个按升序排列的二维数组,编写一个函数来判断目标值是否存在于数组中。数组是一个m x n的矩阵,可使用算法快速查询。
if条件出现问题导致结果一直不对
(9)编写一个函数,输入一个整数,将其分解为两个质数之和。提示:函数可以声明为int split(int n, int a, int b)。n作为传入参数,a和b作为传出参数。若无法分解返回0,可以分解则返回1
刚开始忘记1是非素数,1进不去那个循环,会被误以为是素数,所以需要将其用if分类出来
(10) 编写函数void shift(char s, int n),请原地将字符串s循环左移n次。例如,字符串“hello”左移3次得到“lohel”。
不明白怎么循环,逻辑太乱
(11)写一个程序读入一个二维整型数组并判断它是否为魔方矩阵。在魔方阵中,所有的行、列和对角线都拥有相同的和
判断对角线的和是否等于参考值不应该放在循环里会出错
(12)利用指针,判断两个字符串是否相等。忽略大小写。例如,输入 “hello”和”hELlO”,认为它们是相等的。返回值:1表示相等。0表示不同)。
想要忽略大小写就把它们全部转换成小写,运用从ctype.h头文件中towler函数
反思与总结:
本次作业着重于知识点考察,每道题都很考察对知识点的掌握
如果知识点不够掌握,就会总是出错
还有就是本次作业非常考察逻辑
如果逻辑是混乱的,结果容易出错
总之这次作业很好的测试了上课效率和对知识点掌握的程度
做完以后感觉非常有收获