高级语言程序设计作业 11/11

news/2024/11/13 21:34:39/文章来源:https://www.cnblogs.com/kgezhiwang/p/18539909
  • 2024高级语言程序设计:https://edu.cnblogs.com/campus/fzu/2024C
  • 高级语言程序设计课程第五次作业:https://edu.cnblogs.com/campus/fzu/2024C/homework/13304
  • 学号:102400215
  • 姓名:胡加乘

1

#include <iostream>using namespace std;#define ROWS 3
#define COLS 5int main()
{int arr[ROWS][COLS] ={{ 1, 2, 3, 4, 5 },{ 20, 21, 22, 23, 24 },{ 6, 7, 8, 9, 10}};int (*p)[COLS] = arr;     // 指向二维数组的指针// 数组下标访问元素for (int i = 0; i < ROWS; i++){for (int j = 0; j < COLS; j++){cout << arr[i][j] << " ";}cout << endl;}// 指针访问元素for (int i = 0; i < ROWS; i++){for (int j = 0; j < COLS; j++){cout << *(*(p + i) + j) << " ";}cout << endl;}return 0;
}

2

3

#include <iostream>using namespace std;void calcGrade(int (*p)[7], int students);int main()
{int grades[3][7] ={{ 0, 90, 86, 45, 79, 87, 99 },{ 0, 99, 86, 65, 80, 75, 89 },{ 0, 98, 87, 76, 81, 70, 93 },};// 求和并加到[0]中calcGrade(grades, 3);// 打印for (int i = 0; i < 3; i++){for (int j = 0; j < 7; j++){printf("%d ", grades[i][j]);}printf("\n");}return 0;
}void calcGrade(int (*p)[7], int students)
{for (int i = 0; i < students; i++){int sum = 0;for (int j = 1; j < 7; j++){sum += p[i][j];}p[i][0] = sum;}
}

4

#include <iostream>using namespace std;int main()
{int a;                // 定义一个int类型的本地变量a。int* a;				  // 定义一个int类型的野指针变量a。int** a;			  // 定义一个指向int类型指针的野指针变量a。int a[10];			  // 定义一个含有10个元素的数组a。int (*a)[10];		  // 定义一个指向一个 每个元素含有10个元素 的数组 的指针变量a。return 0;
}

5

#include <iostream>using namespace std;int main()
{int src[3][5] ={{ 1, 2, 3, 4, 5 },{ 6, 7, 8, 9, 10 },{ 21, 22, 23, 24, 25 }};int dest[3][5];int* psrc = src[0];int* pdest = dest[0];for (int i = 0; i < 3; i++){for (int j = 0; j < 5; j++){*(pdest + i * 5 + j) = *(psrc + i * 5 + j);}}for (int i = 0; i < 3; i++){for (int j = 0; j < 5; j++){cout << dest[i][j] << " ";}cout << endl;}return 0;
}

6

#include <iostream>using namespace std;int mystrlen(char* str);int main()
{char str[] = "Hello world!";int length = mystrlen(str);cout << "Length of 'Hello world!' is: " << length << endl;return 0;
}int mystrlen(char* str)
{char* p = str;int length = 0;while (*p++ != '\0'){length++;}return length;
}

7

#include <iostream>using namespace std;int main()
{int a[3][4] = { 0 };printf("%d\n", sizeof(a));                     // 二维数组所有元素的占用字节之和,共3x4个int元素,每个int元素占用4个字节,共3x4x4=48字节。printf("%d\n", sizeof(a[0][0]));               // 第一行第一列元素占用4字节。printf("%d\n", sizeof(a[0]));                  // 第一行所有元素占用字节之和,共4x4=16字节。printf("%d\n", sizeof(a[0] + 1));              // `a[0] + 1`实际上是一个int指针,求的是指针的大小,8字节。printf("%d\n", sizeof(*(a[0] + 1)));           // `*(a[0] + 1)`是第一行第二个元素值,int值的大小为4字节。printf("%d\n", sizeof(a + 1));                 // `a + 1`指向二维数组的第二行,但本身仍是一个指针,8字节。printf("%d\n", sizeof(*(a + 1)));              // `*(a + 1)`解引用第二行,整行共4x4=16字节。printf("%d\n", sizeof(&a[0] + 1));             // 等价于`a + 1`。printf("%d\n", sizeof(*(&a[0] + 1)));          // 等价于`*(a + 1)`。printf("%d\n", sizeof(*a));                    // `*a`解引用第一行,整行4x4=16字节。printf("%d\n", sizeof(a[3]));                  // `a[3]`指向二维数组后面的4个int值,因此4x4=16字节。但索引超出界限,存在安全隐患。return 0;
}

8

#include <iostream>using namespace std;int main()
{char str[30];cout << "Please enter a string (1 <= length < 30): " << endl;scanf_s("%s", str, sizeof(str));int m;cout << "Please enter the start index to copy: " << endl;scanf_s("%d", &m);char newStr[30] = { 0 };int i;for (char* pch = str + m - 1, i = 0; *pch; pch++, i++){newStr[i] = *pch;}cout << "Copied: "<< newStr << endl;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/831905.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win 11 开发板,windows,ubuntu虚拟机网络互通

确保在同一个网段里面就行 如果ping开发板不通,将win防火墙关闭了试一试 虚拟机使用桥接模式,桥接到正确的网卡上,此处使用的是usb网卡 编辑->虚拟机网络编辑器ubuntu手动设置桥接的网卡信息此处ens32是桥接的网卡 ens33是NAT网卡windows也是同样设置,注意网段保持一致虚拟机…

手把手教你搭建OpenDRIVE道路模型(上)

在自动驾驶技术的研发与验证阶段,OpenDRIVE格式的数据被广泛应用于仿真测试平台的搭建,帮助开发者在虚拟环境中对算法进行高效迭代与优化,从而加速自动驾驶技术的商业化进程,推动汽车行业向更加智能化、自主化的未来发展。 OpenDRIVE作为一种高度专业化的道路建模标准…

SpringBoot项目引入Elasticsearch时启动失败

1、前情提要: https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/current/installation.html 以上是Elasticsearch对接Java的官方文档(pom依赖部分)我本地Windows安装的Elasticsearch也是8.15.3版本 2、启动报错 *************************** APPLICA…

四款超实用的免费报表工具推荐!轻松选择适合你的数据神器

现如今,报表工具逐渐成为企业数据分析和决策的重要一环。本文将为大家介绍四款免费报表工具,通过这些工具,用户可以轻松地将原始数据转换为直观易懂的报表,帮助决策者更快地获取信息和做出判断。无论是寻求简单易用、实时更新,还是需要强大的数据分析能力的用户,都能在这…

联训题单 / 集训杂题纪要

UPD: 新增了杂题选改栏 总览题单 进度 备注数据结构1 4/24 数据结构可爱捏 >_<搜索 模拟 All Clear/10 搜索可爱捏 >_<数学1 0/11 数学不可爱捏 `-字符串 6/13 哈希可爱捏 >_<杂题选改 7 杂题专题没了,杂题倒是有不少数据结构 1 STEP 读假题了,读成下面这…

Python 提取PowerPoint文档中的图片

如果你需要在多个PowerPoint演示文稿中使用相同的图片,直接从原始PPT中提取并保存图片可以避免重复寻找和下载。此外,将PPT中的重要图片提取出来可以将其作为备份,以防原文件损坏或丢失。本文将通过以下两个示例介绍如何使用Python提取PPT文档中的图片。Python 提取指定幻灯…

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

班级:https://edu.cnblogs.com/campus/fzu/2024C 作业要求:https://edu.cnblogs.com/campus/fzu/2024C/homework/13304 学号:102400121 姓名:林永庆 12 从左到右,从上到下,从右到左,从下到上345678总结:菜就多练 反思:菜就多练

解线性方程组迭代法

解线性方程组迭代法 在数值分析中,迭代法是解决大规模线性方程组的重要工具。迭代法可以有效地减少计算复杂度,使得求解效率更高。本文将从前置知识开始,介绍向量和矩阵的范数,再深入探讨求解线性方程组的 Jacobi 和 Gauss-Seidel 迭代法。 一、前置知识:向量和矩阵的范数…

Linux kernel 堆溢出利用方法(二)

本文我们通过我们的老朋友heap_bof来讲解Linux kernel中off-by-null的利用手法。在通过讲解另一道相对来说比较困难的kernel off-by-null + docker escape来深入了解这种漏洞的利用手法。前言 本文我们通过我们的老朋友heap_bof来讲解Linux kernel中off-by-null的利用手法。在通…

wpf项目使用winform控件

环境:Win10、VS2017 一、新建WPF项目 2. WPF项目添加System.Windows.Forms和WindowsFormsIntegration引用 3. 编写WPF窗体代码 3.1. 头部添加引用1 xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms" 2 xmlns:wfi ="clr-namespac…

Spring带泛型的ApplicationEvent无法监听问题分析(转载)

1 背景 在开发过程中,经常遇到发送事件来通知其他模块进行相应的业务处理;笔者实用的是spring自带的ApplicationEventPublisher和EventListener进行事件的发收; 但是开发时遇到一个问题: 如果事件很多,但是事件模式都差不多,就需要定义很多事件类来分别表示各种事件,例如…

PG 修改表结构提示有试图依赖的处理方法

ALTER TABLE victim ALTER COLUMN victim_belong_url TYPE varchar(1000) USING victim_belong_url::varchar(1000); 修改字段长度 通过修改 pg_attribute 基表的方式来绕开这个限制#通过表名查出attrelid SELECT relname, attname,attnum,attrelid,attname FROM pg_class c,pg…