- 博客(95)
- 收藏
- 关注
原创 机房收费管理系统
为期一学期一周两节课的C语言实训课已经到了尾声,给我的影响非常大,通过这次实训,使我明白C语言这门课程光仅仅听课是远远不够的,上机训练也不容忽视。通过上机训练,我明白自己知识的不足,经历这次实训,使我更加深刻的理解C语言中的知识点。通过实训,我找到许多知识漏点,学到了很多以前不懂的知识,使知识更加牢固、深刻。遇到自己当时不懂如何编写的题目时,经过自己的学习和同学的交流后,试遍、改代码、更正,最后也是很不容易的编写出来,虽然过程很艰辛,但带来的成就感也是增加对C语言的兴趣和学好C语言的信心。
2024-08-22 00:17:13 1221
原创 简单通讯录
通讯录要保存在文件中,每次启动程序都从文件中读取当前的所有记录,每次退出程序时都更新通讯录。通讯录中至少含有以下字段:姓名、电话号码、地址(嵌套结构)、邮政编码、email。知识点:文件、循环、数组、嵌套结构体、链表(选用)、函数等。参考资料:C语言程序设计(第二版)(教材)。实现通讯录的显示、增、删、改、查功能。编写一个简单的通讯录管理程序。
2024-08-22 00:17:04 394
原创 C语言学习--文件操作
在计算机科学中,文件是数据的基本存储单元,它们可以包含文本、图像、视频、音频等多种形式的数据。文件操作是编程中的一项基础且关键技能,无论是对于初学者还是经验丰富的开发者。本文档旨在介绍C语言中文件的基本操作,包括文件的打开、读取、写入和关闭等过程。文件,对我们并不陌生,文件是数据源(保存数据的地方)的一种,比如大家经常使用的 word 文档,txt 文件,excel 文件...都是文件。文件最主要的作用就是保存数据,它既可以保存一张图片,也可以保持视频,声音...
2024-08-21 08:11:20 791
原创 C语言学习--项目
家庭收支记账软件和客户信息管理系统均采用文本界面,以简洁直观的方式提供给用户强大的功能,帮助用户更好地管理财务和客户信息。随着本项目文档的结束,我们希望大家能够学会并实际应用。
2024-08-21 08:11:13 1363
原创 C语言学习--结构体和共用体
在C语言中,结构体和共用体是两种强大的构造类型,它们允许程序员以更加灵活和高效的方式组织和管理数据。结构体提供了一种将不同类型的数据项组合成一个单一实体的手段,非常适合模拟现实世界中的复合对象。而共用体则是一种节省内存的手段,允许多个变量共享同一段内存空间。本章将详细介绍结构体和共用体的基本概念、定义方法、使用方式以及它们在实际编程中的应用。1) 共用体(Union)属于 构造类型,它可以包含多个类型不同的成员。和结构体非常类似, 但是也有不同的地方。共用体有时也被称为联合或者联合体, 定义格式为。
2024-08-20 08:05:27 1270
原创 C语言学习--指针
指针是C语言中一个极其重要且功能强大的概念,它允许程序直接操作内存地址,从而实现对数据的灵活访问和控制。然而,指针的使用也带来了一定的复杂性,它涉及到内存的直接操作,稍有不慎就可能导致程序错误甚至崩溃。本章将深入探讨指针的基本概念、操作以及在C语言编程中的应用,旨在帮助读者全面理解指针的工作原理和使用技巧。1) 指针是 C 语言的精华,也是 C 语言的难点。2) 指针,也就是内存的地址;所谓指针变量,也就是保存了内存地址的变量。关于指针的基本使用,在讲变量的时候做了入门级的介绍。
2024-08-20 08:05:21 621
原创 C语言学习--断点调试
在软件开发过程中,调试代码是不可避免的一部分。尤其是在面对复杂问题或难以察觉的错误时,普通的代码检查往往难以发现问题的根源。这时候,断点调试作为一种重要的调试技术,能够帮助程序员逐行分析代码的执行过程,查找潜在的 Bug,并最终解决问题。这章将详细介绍断点调试的基本概念、快捷键操作以及通过实际案例演示断点调试的应用。掌握断点调试技能不仅能够提高代码调试效率,还能帮助程序员更深入地理解代码的执行逻辑,进而提升编程能力。
2024-08-19 12:18:27 1008
原创 C语言学习--排序和查找
在计算机科学中,算法是解决问题和执行任务的核心工具。排序和查找算法是算法领域中最基本的概念之一,它们在数据组织、优化查询效率等方面发挥着至关重要的作用。本章将深入探讨排序和查找算法的基本原理、实现方式以及它们的应用场景。同时,我们还将介绍二维数组的概念和使用,这是处理多维数据和构建复杂数据结构的基础。通过本章的学习,读者将能够理解并实现这些基本算法,为进一步探索更高级的算法和数据结构打下坚实的基础。排序也称排序算法(Sort Algorithm),排序是将一组数据,依指定的顺序进行排列的过程。
2024-08-19 12:18:20 992
原创 C语言学习--数组
数组是编程中的基本数据结构之一,它允许我们在一个变量中存储多个相同类型的数据。使用数组可以显著简化代码的编写和维护,特别是在处理大量数据时。通过数组,我们可以方便地访问和操作这些数据,避免了多个单独变量的繁琐。本文将介绍数组的基本概念和操作方法,并通过实例展示如何用数组解决实际问题,如计算鸡群的体重总和和平均体重。数组可以存放多个同一类型数据。数组也是一种数据类型,是构造类型。传递是以引用的方式传递(即传递的是地址)数据类型 数组名 [数组大小];int a [5];
2024-08-18 07:31:15 901
原创 C语言学习--预处理命令
在C语言编程中,预处理命令是编译过程中的重要步骤,它在编译前对源代码进行预处理,以确保代码的正确性和可移植性。预处理命令如#include#define等,提供了强大的功能,包括宏定义、文件包含和条件编译等。这些命令不仅提高了代码的可读性和维护性,还使得程序能够在不同平台上运行时保持一致性。1) 使用库函数之前,应该用#include 引入对应的头文件。这种以#号开头的命令称为预处理命令。2) 这些在编译之前对源文件进行简单加工的过程,就称为预处理(即预先处理、提前处理)
2024-08-18 07:31:08 434
原创 C语言学习--函数
在编程中,函数是构建复杂程序的基本模块。函数不仅使代码更具可读性和可维护性,还能提高代码的复用性。我们将深入探讨函数的概念、定义、使用方法以及相关的编程技巧。我们将从传统的代码实现开始,发现其不足之处,并引入函数来改进代码结构。通过示例和实际应用,我们将展示如何通过定义和使用函数来解决问题,优化代码。返回类型 函数名(形参列表){执行语句...;// 函数体return 返回值;// 可选1) 形参列表:表示函数的输入2) 函数中的语句:表示为了实现某一功能代码块。
2024-08-17 07:57:00 989
原创 C语言学习--枚举
在编程中,定义和使用枚举类型是组织和管理有限数据集的一种有效方式。枚举类型提供了一种便捷的方式来描述一组相关的常量,使得代码更具可读性和可维护性。传统的使用宏定义来表示这些常量的方法虽然有效,但随着常量数量的增加,管理和维护会变得繁琐。枚举提供了一种更结构化的方式来定义这些常量,同时还能够确保它们的值在使用时更具语义性和一致性。本文将介绍枚举的基本概念、使用方法及其在 C 语言中的应用。1) 枚举是 C 语言中的一种构造数据类型,它可以让数据更简洁,更易读, 对于只有几个有限的特定数据,可以使用枚举。
2024-08-17 07:56:51 1140
原创 C语言学习--程序流程控制
在软件开发中,程序的流程控制是编程的核心要素之一。它决定了程序的执行顺序和逻辑路径,直接影响到程序的功能和效果。理解和掌握程序流程控制语句对于编写有效、可靠的代码至关重要。本章节将深入探讨程序流程控制的基本概念,涵盖顺序控制、分支控制和循环控制三大主要方面。通过学习这些基本的控制结构,您将能够编写出更复杂的程序逻辑,并有效地解决各种编程问题。在本章中,我们首先介绍顺序控制,它是最简单也是最基本的控制方式,程序的语句将按顺序逐行执行。
2024-08-16 09:28:18 838
原创 C语言学习--二进制和位运算
在计算机科学中,进制转换和位运算是核心概念。理解这些基本操作对于深入掌握数据处理、优化算法以及底层编程至关重要。本文将从进制的基本知识入手,逐步解读各种进制转换方法和位运算的应用示例,帮助你全面掌握这些技术。1) 二进制:0,1 ,满 2 进 1,C 语言中没有二进制常数的表示方法。2) 十进制:0-9 ,满 10 进 1。3) 八进制:0-7 ,满 8 进 1. 以数字 0 开头表示。4) 十六进制:0-9 及 A-F,满 16 进 1. 以 0x 或 0X 开头表示。此处的 A-F 不区分大小写。
2024-08-16 09:27:45 1012
原创 C语言学习-- 运算符
在C语言编程中,算术、关系和逻辑运算符是基础且不可或缺的工具。这些运算符不仅使基本的数学计算变得简单,还使得条件判断和逻辑推理得以实现。掌握这些运算符的使用能够提高代码的有效性和可读性。算术运算符是对数值类型的变量进行运算的,在 C 程序中使用的非常多1) 关系运算符的结果要么是真(非 0 表示),要么是 假(0 表示)2) 关系表达式 经常用在 if 结构的条件中或循环结构的条件中用于连接多个条件(一般来讲就是关系表达式),最终的结果要么是真(非 0 表示),要么是 假(0 表示)。
2024-08-15 21:19:18 881
原创 C语言学习--常量
在程序设计中,常量是一个至关重要的概念。它们代表固定不变的值,能够提高代码的可读性、可维护性和安全性。常量的使用不仅可以避免魔法数字(magic numbers)的出现,还可以确保程序在执行过程中不会意外修改某些关键值。本节将深入探讨常量的类型及其定义方式,包括整数常量、浮点常量、字符常量和字符串常量,以及如何通过#define预处理器和const关键字来定义常量。掌握这些基本概念将为后续的编程学习和实践打下坚实的基础。1) 常量是固定值,在程序执行期间不能改变。这些固定的值,又叫做字面量。
2024-08-15 20:47:54 1872
原创 C语言学习--变量
C 语言作为一种通用的编程语言,以其简洁、高效和灵活的特点在计算机科学领域中占据了重要地位。C 语言不仅在系统编程中广泛应用,同时也是学习其他高级语言的基础。掌握 C 语言的基本数据类型和指针操作,对于理解内存管理、算法实现以及程序性能优化至关重要。变量相当于内存中一个数据存储空间的表示。你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)。C 语言的整数类型就是用于存放整数值的,比如 12, 30, 3456 等等。
2024-08-05 13:57:49 1347
原创 C 程序开发快速入门
C语言是一门历史悠久且广泛应用的编程语言,它为现代软件开发奠定了基础。对于初学者来说,掌握C语言的基本语法和程序开发流程是进入编程世界的重要一步。旨在通过一个简单的实例,带领快速入门C语言程序开发。将从需求说明、开发步骤、程序运行机制、编译与链接过程等多个方面详细讲解,帮助理解和掌握C语言程序开发的基本概念和操作方法。注释用于说明和解释程序,提高代码的可读性。是程序员良好编程习惯的一部分。
2024-08-05 12:34:45 812
原创 积木画
同时, 小明有一块面积大小为 2×N 的画布, 画布由 2×N 个 1×1 区域构成。小明需要用以上两种积木将画布拼满, 他想知道总共有多少种不同的方式?积木可以任意旋转, 且画布的方向固定。输出一个整数表示答案。由于答案可能很大,所以输出其对 1000000007 取模后的值。对于所有测试用例,1≤N≤100000001≤N≤10000000.输入一个整数 N,表示画布大小。
2024-07-25 06:47:43 488
原创 直线
在平面直角坐标系中,两点可以确定一条直线。如果有多点在一条直线上, 那么这些点中任意两点确定的直线是同一条。请问这些点一共确定了多少条不同的直线。
2024-07-25 06:47:14 331
原创 等差素数列
2,3,5,7,11,13,....是素数序列。类似:7,37,67,97,127,157这样完全由素数组成的等差数列,叫等差素数数列。2004 年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。这是数论领域一项惊人的成果!长度为 10 的等差素数列,其公差最小值是多少?上边的数列公差为 30,长度为 6。
2024-07-24 10:14:00 246
原创 排序
请帮助小蓝找一个只包含小写英文字母且没有字母重复出现的字符串,对 该串的字符排序,正好需要 100 次交换。如果可能找到多个,请告诉小蓝最短的那个。如果最短的仍然有多个,请告诉小蓝字典序最小的那个。小蓝发现,如果对一个字符串中的字符排序,只允许交换相邻的两个字符, 则在所有可能的排序方案中,冒泡排序的总交换次数是最少的。小蓝找到了很多字符串试图排序,他恰巧碰到一个字符串,需要 100 次交 换,可是他忘了吧这个字符串记下来,现在找不到了。例如,对于字符串 lan 排序,只需要 1 次交换。
2024-07-24 10:13:42 261
原创 数字三角形
上图给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。路径上的每一步只能从一个数走到下一层和它最近的左边的那个数或者右 边的那个数。此外,向左下走的次数与向右下走的次数相差不能超过 1。下面的 N 行给出数字三角形。数字三角形上的数都是 0 至 100 之间的整数。输入的第一行包含一个整数 N (1≤N≤100),表示三角形的行数。输出一个整数,表示答案。
2024-07-23 11:03:14 475
原创 回文日期
也有人表示 20200202 并不仅仅是一个回文日期,还是一个 ABABBABA 型的回文日期。2020 年春节期间,有一个特殊的日期引起了大家的注意:2020 年 2 月 2 日。对于所有评测用例,10000101≤N≤8999123110000101≤N≤89991231,保证 NN 是一个合法日期的 8 位数表示。给定一个 8 位数的日期,请你计算该日期之后下一个回文日期和下一个 ABABBABA 型的回文日期各是哪一天。第一行表示下一个回文日期,第二行表示下一个 ABABBABA 型的回文日期。
2024-07-23 11:02:56 511
原创 分糖果
程序首先读入一个整数 N (2<N<100)N (2<N<100),表示小朋友的人数。有 nn 个小朋友围坐成一圈。接着是一行用空格分开的 NN 个偶数(每个偶数不大于 1000,不小于 2)。一轮分糖后,拥有奇数颗糖的孩子由老师补给 1 个糖果,从而变成偶数。你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。反复进行这个游戏,直到所有小朋友的糖果数都相同为止。要求程序输出一个整数,表示老师需要补发的糖果数。每个小朋友都把自己的糖果分一半给左手边的孩子。
2024-07-22 21:57:24 329
原创 连号区间数
如果区间 [L,R][L,R] 里的所有元素(即此排列的第 LL 个到第 RR 个元素)递增排序后能得到一个长度为 R−L+1R−L+1 的"连续"数列,则称这个区间连号区间。当 NN 很小的时候,小明可以很快地算出答案,但是当 NN 变大的时候,问题就不是那么简单了,现在小明需要你的帮助。第二行是 NN 个不同的数字 Pi (1≤Pi≤N)Pi (1≤Pi≤N),表示这 NN 个数字的某一全排列。第一行是一个正整数 N(1≤N≤50×104)N(1≤N≤50×104), 表示全排列的规模。
2024-07-22 21:55:52 134
原创 等腰三角形
输入一个正整数 n(3<n<300) n(3<n<300),表示三角形的高度。用这个串填充三角形的三条边。从上方顶点开始,逆时针填充。本题目要求你在控制台输出一个由数字组成的等腰三角形。先用 1,2,3... 的自然数拼一个足够长的串。
2024-07-22 21:50:53 441
原创 倍数问题
众所周知,小葱同学擅长计算,尤其擅长计算一个数是否是另外一个数的倍数。但小葱只擅长两个数的情况,当有很多个数之后就会比较苦恼。现在小葱给了你 nn 个数,希望你从这 nn 个数中找到三个数,使得这三个数的和是 KK 的倍数,且这个和最大。其中,1≤n ≤105, 1≤K ≤1031≤n ≤105, 1≤K ≤103,给定的 nn 个数均不超过 108108。第二行 nn 个正整数,代表给定的 nn 个数。第一行包括 2 个正整数 n, Kn, K。输出一行一个整数代表所求的和。
2024-07-22 21:46:51 394
原创 螺旋矩阵
对于一个 n 行 m 列的表格,我们可以使用螺旋的方式给表格依次填上正整数,我们称填好的表格为一个螺旋矩阵。总通过次数: 2518 | 总提交次数: 2741 | 通过率: 91.9%难度: 困难 标签: 2020, 模拟, 暴力, 省模拟赛。输出一个整数,表示螺旋矩阵中第 r 行第 c 列的元素的值。
2024-06-29 22:51:56 476
原创 音节判断
小明对类似于 hello 这种单词非常感兴趣,这种单词可以正好分为四段,第一段由一个或多个辅音字母组成,第二段由一个或多个元音字母组成,第三段由一个或多个辅音字母组成,第四段由一个或多个元音字母组成。总通过次数: 1387 | 总提交次数: 1542 | 通过率: 89.9%输入一行,包含一个单词,单词中只包含小写英文字母。单词中的字母个数不超过 100。元音字母包括 a, e, i, o, u,共五个,其他均为辅音字母。给定一个单词,请判断这个单词是否也是这种单词,如果是请输出。
2024-06-26 20:43:30 414
原创 三元组中心问题
总通过次数: 1955 | 总提交次数: 2207 | 通过率: 88.6%难度: 困难 标签: 2020, 模拟, 思维, 省模拟赛。a2 和 a4 可能是三元组的中心。输出一行包含一个整数,表示答案。
2024-06-26 20:43:19 431
原创 机器人繁殖
每年 X 星系都会选出 1 个新出生的机器人发往太空。也就是说,如果 X 星系原有机器人 5 个,1 年后总数是:5 + 9 = 14,2 年后总数是:5 + 9 + 17 = 31。它们用 1 年的时间可以复制出 2 个自己,然后就失去复制能力。输入一行两个数字 n 和 s,用空格分开,含义如上。总通过次数: 803 | 总提交次数: 958 | 通过率: 83.8%如果已经探测经过 n 年后的机器人总数 s ,你能算出最初有多少机器人吗?要求输出一行,一个整数,表示最初有机器人多少个。
2024-06-21 13:24:10 315
原创 奇怪的数列
总通过次数: 1911 | 总提交次数: 2089 | 通过率: 91.5%第二行,一个数字 n,表示需要你连续变换多少次,n 不超过 20。难度: 困难 标签: 2015, 模拟, 国赛。第一行输入一个数字组成的串,不超过 100 位。输出一个串,表示最后一次变换完的结果。
2024-06-21 13:20:30 649
原创 冰雹数
这段代码的目的是找出从2到给定整数N中任意整数开始,按照3n+1规则最终生成的序列中的最大值。它通过遍历每个整数,使用循环计算直到序列达到1,并在计算过程中记录并更新出现的最大值。
2024-06-20 19:21:48 351
原创 四平方和
这段代码通过三重嵌套循环,穷举所有可能的非负整数解,并判断是否满足 ( a^2 + b^2 + c^2 + d^2 = n )。在找到第一个满足条件的解后立即输出,并结束程序运行。由于没有要求输出所有解,因此只输出找到的第一个解即可。
2024-06-20 19:21:39 475
原创 小计算器
总通过次数: 733 | 总提交次数: 909 | 通过率: 80.6%难度: 困难 标签: 2017, 模拟, 国赛。依次输出每一次 'EQUAL' 得到的结果。
2024-06-20 08:50:52 506
原创 图形排版
2.如果当前行剩余宽度大于 0,并且小于下一张图片,则下一张图片会按比例缩放到宽度为当前行剩余宽度(高度向上取整),然后放入当前行。例如再放入一张 4x9 的图片,由于剩余宽度是 2,这张图片会被压缩到 2x5,再被放入第一行的末尾。3.如果当前行剩余宽度为 0,该工具会从下一行开始继续对剩余的图片进行排版,直到所有图片都处理完毕。现在由于排版高度过高,图片的先后顺序也不能改变,小明只好从 N 张图片中选择一张删除掉以降低总高度。他希望剩余 N-1 张图片按原顺序的排版高度最低,你能求出最低高度是多少么?
2024-06-20 08:50:40 510
原创 日期问题
这些历史文献中出现了很多日期。令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。比如 02/03/04,可能是 2002 年 03 月 04 日、2004 年 02 月 03 日或 2004 年 03 月 02 日。更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期,存在很多可能的日期与其对应。总通过次数: 6739 | 总提交次数: 8832 | 通过率: 76.3%难度: 困难 标签: 2017, 暴力, 枚举, 省赛。
2024-06-19 09:10:02 416
原创 k倍区间
总通过次数: 8478 | 总提交次数: 12714 | 通过率: 66.7%难度: 困难 标签: 2017, 暴力, 省赛。:用于记录每种余数的出现次数。是为了确保能够存储所有可能的余数,即。输出一个整数,代表 K 倍区间的数目。:从标准输入读取数组长度。:将最终计算得到的结果。
2024-06-19 09:09:53 315
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人