自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(134)
  • 收藏
  • 关注

原创 [Linux命令行笔记] 环境与配置简述

一、常用命令printenv: 打印部分或全部的环境信息set: 设置shell选项 set命令的输出结果是按照字母顺序排序的 可以使用echo $HOME查看目标的变量export: 将环境导出到随后要运行的系统中alias: 为命令创建一个别名 不带任何参数的alias命令可以显示已经创建的命令别名二、shell会话shell会话有两种类型:登录shell和非登录s...

2019-12-13 20:09:22 230

原创 [Linux命令行笔记] 进程相关

一、ps进程查看进程状态标识含义R运行状态。进程正在运行或者准备运行S睡眠状态。进程不再运行,而是在等待某事件发生,如键盘输入或者收到网络报文D不可中断的睡眠状态。进程在等待I/O操作,如硬盘驱动T暂停状态。进程被指示暂停(后续还可继续运行)Z无效或者“僵尸”进程。子进程被终止,但是还没有被其父进程彻底释放掉<高优先进程。进程可...

2019-12-05 23:54:30 232

原创 [Linux命令行笔记] Linux权限操作

一、id: 显示用户身份标识输出uid、gid、groups等信息,根据系统不同有一定差异二、文件的权限属性ls -l 命令输出文件属性,如(-rw-rw-r--),有四个组成部分: 1、'-' 表示文件类型 '-' 普通文件 'd' 目录文件 'l' 符号链接(软链接) 'c' 字符设备文件(以字节流处理数据的设备,...

2019-11-30 23:24:12 380

原创 [Linux命令行笔记] shell 扩展和引用

一、扩展1、路径名扩展【*】【[.]】【?】等,通过通配符实现的扩展机制[test@localhost tmp]$ lsDesktop Documents Music output.txt Pictures Videos[test@localhost tmp]$ echo D*Desktop Documents[test@localhost tmp]$ echo *sDo...

2019-11-24 14:45:26 532

原创 [Linux命令行笔记] 重定向和管道

一、I/O 重定向< 将标准输入重定向到指定文件> 将标准输出重定向到指定文件,覆盖原内容>> 将标准输出重定向到指定文件,添加到末尾2> 将标准错误重定向到指定文件,覆盖原内容2>> 将标准错误重定向到指定文件,添加到末尾2>&1 将标准错误重定向到标准输出确定的文件&...

2019-11-23 23:45:54 275

原创 [Linux命令行笔记] 命令的使用

文章目录一、命令的类型二、命令类型识别1、type2、which三、命令说明文档1、help2、man3、apropos4、info5、whatis6、alias7、unalias一、命令的类型1、可执行程序2、shell内置命令3、shell函数4、alias命令二、命令类型识别1、type显示命令的类型2、which显示可执行程序的位置三、命令说明文档1、help...

2019-11-22 20:30:54 281 1

原创 [汇编与C] main 函数和启动例程

为什么汇编程序的入口是_start,而C程序的入口是main函数呢?现在我们来解释这个问题。Linux 中汇编和链接步骤是:[test@localhost Assembler]$ as test.s -o test.o[test@localhost Assembler]$ ld test.o -o test以前我们常用gcc main.c -o main命令编译一个程序,其实也可以分三步做...

2019-10-21 23:12:55 1670

原创 [汇编与C] 函数调用

我们用下面的代码来研究函数调用的过程。int bar(int c, int d) { int e = c + d; return e; }int foo(int a, int b) { return bar(a, b); }int main(void) { foo(2, 3); retur...

2019-10-17 00:33:39 1164

转载 [C/C++学习] restrict 关键字

本篇博客主要谈论C语言关键字restrict,只用于修饰指针,功能是帮助编译器进行优化!值得注意的是,优化需要就事论事,经过分析:如果发现确实优化不了,就不优化了。不加restrict关键字修饰的指针,编译器一定不进行优化!一、定义1、概念关键字restrict只用于限定指针,表明本指针是访问一个数据对象的惟一且初始的方式。2、目的关键字的用意是充分发挥多处理器(CPU只有1个)的并...

2019-10-16 00:04:57 1297

原创 B1047 编程团体赛 (20 分)

编程团体赛的规则为:每个参赛队由若干队员组成;所有队员独立比赛;参赛队的成绩为所有队员的成绩和;成绩最高的队获胜。现给定所有队员的比赛成绩,请你编写程序找出冠军队。输入格式:输入第一行给出一个正整数 N(≤10​4​​),即所有参赛队员总数。随后 N 行,每行给出一位队员的成绩,格式为:队伍编号-队员编号 成绩,其中队伍编号为 1 到 1000 的正整数,队员编号为 1 到 10 的正整数,...

2019-10-14 23:43:56 108

原创 [ELF文件] 可执行文件

现在我们接着上次的步骤分析可执行文件 largest,看看链接器都做了什么改动。[test@localhost Assembler]$ readelf -a largestELF 头: Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 Class: ELF64 D...

2019-10-14 23:38:13 714

原创 [ELF文件] 可重定位的目标文件

目标文件下面用 readelf 工具读出目标文件 max.o 的 ELF Header 和 Section Header Table,然后我们逐段分析。[test@localhost Assembler]$ readelf -a largest.oELF 头: Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 Class...

2019-10-13 22:02:08 336

原创 [ELF文件] 介绍

ELF 文件格式 是一个开放标准,各种 UNIX 系统的可执行文件都采用 ELF 格式,它有三种不同的类型:可重定位的目标文件(Relocatable,或者Object File)可执行文件(Executable)共享库(Shared Object,或者Shared Library)在这里先详细解释一下程序的汇编、链接、运行过程:1、写一个汇编程序保存成文本文件 max.s。2、汇...

2019-10-12 23:55:32 397

原创 [汇编] 寻址方式

访问内存时在指令中可以用多种方式表示内存地址,比如可以用数组基地址、元素长度和下标三个量来表示,增加了寻址的灵活性。本文介绍 x86 常用的几种寻址方式(Addressing Mode)。内存寻址在指令中可以表示成如下的通用格式:ADDRESS_OR_OFFSET(%BASE_OR_OFFSET,%INDEX,MULTIPLIER)它所表示的地址可以这样计算出来:FINAL ADDRESS...

2019-10-11 22:23:01 647

原创 [汇编] 第二个汇编程序

求一组数的最大值的汇编程序#PURPOSE: This program finds the maximum number of a # set of data items. # #VARIABLES: The registers have the following uses: # # %edi - Holds the index of the data item be...

2019-10-11 17:57:53 161

原创 [汇编] x86的寄存器

x86 的通用寄存器有 eax、ebx、ecx、edx、edi、esi。这些寄存器在大多数指令中是可以任意选用的,比如 movl 指令可以把一个立即数传送到 eax 中,也可传送到 ebx 中。但也有一些指令规定只能用其中某个寄存器做某种用途,例如除法指令 idivl 要求被除数在 eax 寄存器中,edx 寄存器必须是 0, 而除数可以在任意寄存器中,计算结果的商数保存在 eax 寄存器中(覆盖...

2019-10-09 20:17:18 511

原创 B1095 解码PAT准考证 (25 分)

PAT 准考证号由 4 部分组成:第 1 位是级别,即 T 代表顶级;A 代表甲级;B 代表乙级;第 2~4 位是考场编号,范围从 101 到 999;第 5~10 位是考试日期,格式为年、月、日顺次各占 2 位;最后 11~13 位是考生编号,范围从 000 到 999。现给定一系列考生的准考证号和他们的成绩,请你按照要求输出各种统计信息。输入格式:输入首先在一行中给出两个正整...

2019-10-07 22:29:09 210

原创 [汇编] 最简单的汇编程序

简单的汇编程序#PURPOSE: Simple program that exits and returns a # status code back to the Linux kernel # #INPUT: none # #OUTPUT: returns a status code. This can be viewed # by typin...

2019-10-04 21:05:32 2988

原创 B1094 谷歌的招聘 (20 分)

2004 年 7 月,谷歌在硅谷的 101 号公路边竖立了一块巨大的广告牌(如下图)用于招聘。内容超级简单,就是一个以 .com 结尾的网址,而前面的网址是一个 10 位素数,这个素数是自然常数 e 中最早出现的 10 位连续数字。能找出这个素数的人,就可以通过访问谷歌的这个网站进入招聘流程的下一步。自然常数 e 是一个著名的超越数,前面若干位写出来是这样的:e = 2.71828182845...

2019-10-03 22:59:15 1822

原创 B1093 字符串A+B (20 分)

给定两个字符串 AAA 和 BBB,本题要求你输出 A+BA+BA+B,即两个字符串的并集。要求先输出 AAA,再输出 BBB,但重复的字符必须被剔除。输入格式:输入在两行中分别给出 AAA 和 BBB,均为长度不超过 10​610​^610​6​​的、由可见 ASCII 字符 (即码值为32~126)和空格组成的、由回车标识结束的非空字符串。输出格式:在一行中输出题面要求的 AAA 和 ...

2019-10-02 23:01:05 156

原创 [Linux] gdb 断点

文章目录一、前言二、gdb 断点一、前言当需要调试的程序非常大的时候,错误有可能只是一个很小的地方,这时如果只能一步一步去调试的话会很消耗时间,gdb 提供了断点来解决这个问题。设置断点能够让程序一直运行直到程序到达断点处。这样可以帮助我们将错误定位到一个范围内的,接下来可以通过单步执行来找到具体问题。二、gdb 断点test.c 如下#include <stdio.h>...

2019-10-01 22:19:20 536

原创 B1092 最好吃的月饼 (20 分)

月饼是久负盛名的中国传统糕点之一,自唐朝以来,已经发展出几百品种。若想评比出一种“最好吃”的月饼,那势必在吃货界引发一场腥风血雨…… 在这里我们用数字说话,给出全国各地各种月饼的销量,要求你从中找出销量冠军,认定为最好吃的月饼。输入格式:输入首先给出两个正整数 NNN(≤1000)和 MMM(≤100),分别为月饼的种类数(于是默认月饼种类从 1 到 NNN 编号)和参与统计的城市数量。...

2019-09-24 23:20:55 106

原创 [Linux] gdb 单步执行和跟踪函数调用

一、前言在写程序时,不能保证程序总是正确的,特别是运行时出错的情况。在 Linux 中提供了一个很强大的调试工具 gdb ,可以完全操控程序的运行,能够随时查看程序中所有的内部状态,比如各变量的值、传给函数的参数、 当前执行的代码行等。无论是否有这样的调试工具,调试的基本思想仍然是 分析现象->假设错误原因->产生新的现象去验证假设 的循环,根据现象来假设错误原因,以及如何设计新的...

2019-09-23 22:56:33 6980

原创 B1091 N-自守数 (15 分)

如果某个数 KKK 的平方乘以 NNN 以后,结果的末尾几位数等于 KKK,那么就称这个数为“NNN-自守数”。例如 3×922​=253923×92^2​=253923×922​=25392,而 253922539225392 的末尾两位正好是 929292,所以 929292 是一个 333-自守数。本题就请你编写程序判断一个给定的数字是否关于某个 NNN 是 NNN-自守数。输入格式:...

2019-09-22 22:59:17 127

原创 B1090 危险品装箱 (25 分)

注意同一箱货物中可能存在多对不相容的物品,此时如果不 break 就会打印多次 No

2019-09-17 23:37:07 207

原创 B1089 狼人杀-简单版 (20 分)

以下文字摘自《灵机一动·好玩的数学》:“狼人杀”游戏分为狼人、好人两大阵营。在一局“狼人杀”游戏中,1 号玩家说:“2 号是狼人”,2 号玩家说:“3 号是好人”,3 号玩家说:“4 号是狼人”,4 号玩家说:“5 号是好人”,5 号玩家说:“4 号是好人”。已知这 5 名玩家中有 2 人扮演狼人角色,有 2 人说的不是实话,有狼人撒谎但并不是所有狼人都在撒谎。扮演狼人角色的是哪两号玩家?本题是...

2019-09-08 23:18:22 138

原创 B1088 三人行 (20 分)

子曰:“三人行,必有我师焉。择其善者而从之,其不善者而改之。”本题给定甲、乙、丙三个人的能力值关系为:甲的能力值确定是 2 位正整数;把甲的能力值的 2 个数字调换位置就是乙的能力值;甲乙两人能力差是丙的能力值的 X 倍;乙的能力值是丙的 Y 倍。请你指出谁比你强应“从之”,谁比你弱应“改之”。输入格式:输入在一行中给出三个数,依次为:M(你自己的能力值)、X 和 Y。三个数字均为不超过 1...

2019-09-07 23:11:43 147

原创 B1087 有多少不同的值 (20 分)

当自然数 n 依次取 1、2、3、……、N 时,算式 ⌊n/2⌋+⌊n/3⌋+⌊n/5⌋ 有多少个不同的值?(注:⌊x⌋ 为取整函数,表示不超过 x 的最大自然数,即 x 的整数部分。)输入格式:输入给出一个正整数 N(2≤N≤10​4​​)。输出格式:在一行中输出题面中算式取到的不同值的个数。输入样例:2017输出样例:1480数字最高能到 103331#inclu...

2019-09-06 22:03:26 157

原创 B1086 就不告诉你 (15 分)

做作业的时候,邻座的小盆友问你:“五乘以七等于多少?”你应该不失礼貌地围笑着告诉他:“五十三。”本题就要求你,对任何一对给定的正整数,倒着输出它们的乘积。输入格式:输入在第一行给出两个不超过 1000 的正整数 A 和 B,其间以空格分隔。输出格式:在一行中倒着输出 A 和 B 的乘积。输入样例:5 7输出样例:53注意乘积为 0 的情况注意乘积为 100 等低位为...

2019-09-05 22:58:50 372

原创 B1085 PAT单位排行 (25 分)

测试点 5 要注意题目要求是整数部分,所以不能直接以double进行比较,不然可能会出现整数部分相同但是因为存在小数的不同而导致出错,应该进行显示类型转换 (int) a == (int) b;

2019-08-30 22:33:00 193

原创 B1084 外观数列 (20 分)

外观数列是指具有以下特点的整数序列:d, d1, d111, d113, d11231, d112213111, …它从不等于 1 的数字 d 开始,序列的第 n+1 项是对第 n 项的描述。比如第 2 项表示第 1 项有 1 个 d,所以就是 d1;第 2 项是 1 个 d(对应 d1)和 1 个 1(对应 11),所以第 3 项就是 d111。又比如第 4 项是 d113,其描述就是 ...

2019-08-29 22:10:35 129

原创 B1083 是否存在相等的差 (20 分)

给定 N 张卡片,正面分别写上 1、2、……、N,然后全部翻面,洗牌,在背面分别写上 1、2、……、N。将每张牌的正反两面数字相减(大减小),得到 N 个非负差值,其中是否存在相等的差?输入格式:输入第一行给出一个正整数 N(2 ≤ N ≤ 10 000),随后一行给出 1 到 N 的一个洗牌后的排列,第 i 个数表示正面写了 i 的那张卡片背面的数字。输出格式:按照“差值 重复次数”的格...

2019-08-28 22:36:26 105

原创 B1082 射击比赛 (20 分)

本题目给出的射击比赛的规则非常简单,谁打的弹洞距离靶心最近,谁就是冠军;谁差得最远,谁就是菜鸟。本题给出一系列弹洞的平面坐标(x,y),请你编写程序找出冠军和菜鸟。我们假设靶心在原点(0,0)。输入格式:输入在第一行中给出一个正整数 N(≤ 10 000)。随后 N 行,每行按下列格式给出:ID x y其中 ID 是运动员的编号(由 4 位数字组成);x 和 y 是其打出的弹洞的平面坐...

2019-08-27 22:29:02 107

原创 B1081 检查密码 (15 分)

本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能。该网站要求用户设置的密码必须由不少于6个字符组成,并且只能有英文字母、数字和小数点 .,还必须既有字母也有数字。输入格式:输入第一行给出一个正整数 N(≤ 100),随后 N 行,每行给出一个用户设置的密码,为不超过 80 个字符的非空字符串,以回车结束。输出格式:对每个用户的密码,在一行中输出系统反馈信息,分以下5种:如果...

2019-08-26 22:31:41 225

原创 B1080 MOOC期终成绩 (25 分)

对于在中国大学MOOC(http://www.icourse163.org/ )学习“数据结构”课程的学生,想要获得一张合格证书,必须首先获得不少于200分的在线编程作业分,然后总评获得不少于60分(满分100)。总评成绩的计算公式为 G = (Gmid−term×40%+Gfinal×60%),如果 Gmid−term > Gfinal;否则总评 G 就是 Gfinal​​。这里 Gmid...

2019-08-25 21:23:33 194

原创 B1079 延迟的回文数 (20 分)

给定一个 k+1 位的正整数 N,写成 a​k​​⋯a​1​​a​0​​ 的形式,其中对所有 i 有 0≤a​i​​<10 且 a​k​​>0。N 被称为一个回文数,当且仅当对所有 i 有 a​i​​=a​k−i​​。零也被定义为一个回文数。非回文数也可以通过一系列操作变出回文数。首先将该数字逆转,再将逆转数与该数相加,如果和还不是一个回文数,就重复这个逆转再相加的操作,直到一个回文...

2019-08-23 22:04:39 92

原创 B1078 字符串压缩与解压 (20 分)

文本压缩有很多种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示。例如 ccccc 就用 5c 来表示。如果字符没有重复,就原样输出。例如 aba 压缩后仍然是 aba。解压方法就是反过来,把形如 5c 这样的表示恢复为 ccccc。本题需要你根据压缩或解压的要求,对给定字符串进行处理。这里我们简单地假设原始字符串是完全由英文字母和空...

2019-08-22 22:55:47 227

原创 B1077 互评成绩计算 (20 分)

在浙大的计算机专业课中,经常有互评分组报告这个环节。一个组上台介绍自己的工作,其他组在台下为其表现评分。最后这个组的互评成绩是这样计算的:所有其他组的评分中,去掉一个最高分和一个最低分,剩下的分数取平均分记为 G​1​​;老师给这个组的评分记为 G​2​​。该组得分为 (G​1​​+G​2​​)/2,最后结果四舍五入后保留整数分。本题就要求你写个程序帮助老师计算每个组的互评成绩。输入格式:输入...

2019-08-21 22:42:05 130

原创 B1076 Wifi密码 (15 分)

下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1;B-2;C-3;D-4;请同学们自己作答,每两日一换。谢谢合作!!~”—— 老师们为了促进学生学习也是拼了…… 本题就要求你写程序把一系列题目的答案按照卷子上给出的对应关系翻译成 wifi 的密码。这里简单假设每道选择题都有 4 个选项,有且只有 1...

2019-08-20 23:35:10 201

原创 B1075 链表元素分类 (25 分)

给定一个单链表,请编写程序将链表元素进行分类排列,使得所有负值元素都排在非负值元素的前面,而 [0, K] 区间内的元素都排在大于 K 的元素前面。但每一类内部元素的顺序是不能改变的。例如:给定链表为 18→7→-4→0→5→-6→10→11→-2,K 为 10,则输出应该为 -4→-6→-2→7→0→5→10→18→11。输入格式:每个输入包含一个测试用例。每个测试用例第 1 行给出:第 1...

2019-08-19 21:40:47 212

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除