**

C&C++ 面向过程编程综合练习

**
一、实训目的
熟练以下内容:
(1)函数的定义及使用;
(2)数组的定义及使用;
(3)指针的定义及使用;
(4)结构的定义及使用;
(5)多文件的程序的编译和运行方法。

二、实训内容
1.最大值函数
相关知识:
(1)函数声明与定义
(2)函数重载
(3)调用函数
2.计算阶乘
相关知识:
(1)递归函数
(2)头文件与源文件
3.求矩阵最大元素
相关知识:
(1)数组
(2)二维数据
(3)数组的使用

4.使用链表进行学生信息管理
相关知识:
(1)结构体
(2)单向链表
(3)单向链表的插入
(4)单向链表的删除
(5)头结点的作用
(6)单向链表的遍历
三、实训所实现系统主要功能
1.最大值函数
Max函数重载,分别求两个和三个数中的最大值
2.计算阶乘
利用递归求阶乘,熟悉头文件和源文件的联系
3.求矩阵最大元素
熟悉数组的使用,求矩阵的最大元素和所在的行、列
4.使用链表进行学生信息管理
利用插入、删除、遍历操作对链表操作进而管理和修改学生信息

四、实训系统核心代码及必要说明
1.最大值函数

int Max(int a,int b)
{/********* Begin *********///找出两个参数中最大的那个并返回return a > b ? a : b;/********* End *********/
}int Max(int a,int b,int c)
{/********* Begin *********///找出三个参数中最大的那个并返回int t = a > b ? a : b;return t > c ? t : c;/********* End *********/
}

2.计算阶乘


int Fact(int n)
{/********* Begin *********///使用递归计算 n 的阶乘if (n == 0) return 0;if (n == 1)  return 1;return Fact(n - 1) * n;/********* End *********/
}

3.求矩阵最大元素


int MaxEle(int a[3][2],int *r,int *c)
{/********* Begin *********///返回最大元素和它所在的行、列号int m = a[0][0], x = 0, y = 0;for (int i = 0; i < 3; i++)for (int j = 0; j < 2; j++)if (m < a[i][j]){m = a[i][j];x = i;y = j;}*r = x + 1;*c = y + 1;return m;/********* End *********/
}

4.使用链表进行学生信息管理

#include <iostream>
using namespace std;struct Linked
{/********* Begin *********///结构体的成员变量int n;float grade;struct Linked *next;/********* End *********/
};Linked* Create()
{/********* Begin *********///创建并返回一个新链表Linked *L = new Linked[55];L -> next = NULL;return L;/********* End *********/
}void InsertAfter(Linked *node,int num,float sc)
{/********* Begin *********///在指定节点后插入一个新节点,内容由 num,sc 参数指定Linked *a = new Linked;a -> n = num;a -> grade = sc;a -> next = node -> next;node -> next = a; /********* End *********/
}void DeleteAfter(Linked *node)
{/********* Begin *********///删除此节点之后的一个节点Linked * a = node -> next;node -> next = a -> next;delete a;/********* End *********/
}Linked* GetByIndex(Linked *head,int index)
{/********* Begin *********///返回指定索引处的节点int a = 0;Linked *p = head -> next;while (a != index){a++;p = p -> next;}return p;/********* End *********/
}void PrintAll(Linked *head)
{/********* Begin *********///按格式打印此链表中所有节点的成员变量Linked *p = head -> next;while (p){cout << p -> n << " " << p -> grade << endl;p = p -> next;}/********* End *********/
}

头歌C++面向对象实训一相关推荐

  1. 头歌C++面向对象实训二

    ** C++ 面向对象 - 类和对象的创建和使用 ** 一.实训目的 1.熟悉C++中类和对象的创建和使用 2.理解C++中的关键字public.protected.private 二.实训内容 1. ...

  2. 头歌C++面向对象实训三

    C++ 面向对象 - 构造函数与析构函数 一.实训目的 1.理解构造函数和析构函数 2.熟悉掌握构造函数和析构函数的运用 3.掌握对象数组的运用 4.理解静态成员及函数 二.实训内容 1.构造函数 - ...

  3. 头歌c语言实训作业题解

    头歌c语言实训作业题解 持续更新 C语言程序设计编辑与调试环境 1.打印输出 Hello World 2.打印输出图形 3.求三个数的最大值 4.熟悉C语言调试环境 C语言中最基本的输入输出 1.看看 ...

  4. 头歌MySQL数据库实训答案2022

    答案由本人收集+自己写的,仅作参考,帮助写不完作业的小伙伴 目录 实训1 数据库.表与完整性约束的定义(Create) 实训2 数据库.表与完整性约束的定义(Create) 实训3 基于金融应用的数据 ...

  5. 头歌-信息安全技术-实训04 数据库SQL注入漏洞

    头歌-信息安全技术-实训04 数据库SQL注入漏洞 第一关:获取dvwa环境 任务描述 实验步骤 1. 安装appach 2.安装php 3.修改apache配置文件 4.安装mysql 5.安装dv ...

  6. 头歌MySQL数据库实训答案 有目录

    头歌MySQL数据库答案 特别感谢黄副班.小青提供代码,有问题联系公众号[学思则安]留言更正 其他作业链接 数据库1-MySQL数据定义与操作实战 MySQL数据库 - 初识MySQL MySQL数据 ...

  7. 头歌--CC++函数实训

    第1关:登月纸桥 任务描述 本关任务:编写一个函数,计算需要把纸折叠多少次(假设纸张足够大,可以无限次折叠),其厚度才能搭建一座登月纸桥,考虑到将来需要到更远的星球,所以函数需要根据具体距离计算纸张折 ...

  8. 头歌c语言实训项目-综合案例课外练习:大奖赛现场统分

    (创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 第1关:大奖赛现场统分 题目: 代码思路: 代码表示: 第1关:大奖赛现场统分 题目: 大奖赛现场统分 ...

  9. 头歌平台web实训部分作业

    因为题目太多就不分开贴上来了. /*---注! 部分题有多个Begin-End使用注释符分开上下*///十一.json //1.1json对象 var JSONObject = {"key1 ...

最新文章

  1. 树莓派视觉小车 -- 物体跟踪(OpenCV)
  2. Element-ui表格选中回显
  3. 图解Spark原理及实践----大数据技术栈12
  4. UA MATH565C 随机微分方程V Markov Family的算子
  5. Android 布局属性 Android:layout_weight 总结
  6. MySQL协议包说明
  7. C语言的关键字 extern
  8. @responseBody 返回更多数据
  9. Ocelot简易教程(二)之快速开始1
  10. ubuntu 硬盘使用情况
  11. TS DataType
  12. ecshop3.0.0注入
  13. “2007中国软件技术英雄会”之微软中国研发集团开放日
  14. js动态改变iframe的高度
  15. WIN7获取管理员权限
  16. linux:账号管理
  17. 拉宾-卡普算法详解以及示例[rabin-karp]
  18. 代理服务器的速度慢的原因是什么?
  19. 双硬盘双win10互不干扰_笔者详解win10系统双硬盘经常提示“盘符交错”的技巧...
  20. Linux为什么不怕病毒

热门文章

  1. mysql正确关闭slave取消主从
  2. java对接第三方快递---顺丰SDK
  3. 市场、运营、营销的肩椎由我来拯救——小帮软件机器人
  4. 查找Chrome浏览器header中的user-Agent两种方法
  5. 微信小程序this.setData修改对象中某个属性的值
  6. adams建立一绳索不带滑轮_ADAMS绳索仿真
  7. 近10年学术论文的数据分析!
  8. 1.2 电容 CAP Capacitance
  9. 本周一朝鲜公共互联网连接一度中
  10. 几种常见的搜索引擎检索模型