Classic
Clean & simple
Crystal
Glassmorphism + Neon
Cyberpunk
Neon glitch art
🚫
违规Action检测
禁止Use右键菜单
⚠️ 此Action已被系统记录
1

C语言10.32

📝 Solutions 🔵 仅限 C++
Problems Description
<p> 编写一items函数alloc(n),用来在Memory区新开辟一items连续的空间(nitems字节)。此函数的返回值是一items指针,指向新开辟的连续空间的起始地址。再写一items函数free(p),将地址p开始的各单元释放(不能再被程序使用,除非再度开辟)。<br /> 大致实现方法如下:<br /> 首先在Memory区域中确定出一片相当大的连续空间(例如1000字节或更多)。然后开辟与释放操作都在此空间内进行。假设指针变量p原本已经指向未用空间的开头,调用alloc(n)之后,开辟了nitems字节可供程序使用(例如,可以赋值到这些单元中)。现在需要使p的值变成p+n,表示空白未用的区域从p+n地址开始,同时要将新开辟的区域的起始位置p作为函数值返回,以表示可以利用从此点开始的单元。如果要新开辟的区域太大,超过了预设的空间,则alloc(n)函数应当返回指针NULL,表示开辟MemoryFailed。<br /> alloc(n)应返回一items指向字符型数据的指针(因为开辟的区间是以字节为单位被利用的)。 </p>
Input格式
<p> Page 一行包含两items用空格隔开的正整数m和n。m表示初始时Memory区域中的连续空间Size(单位为字节),n表示之后有nitemsalloc函数的调用。保证m&lt;=10000,n&lt;=100。<br /> Page 二行包含nitems用空格隔开的正整数,按顺序表示每一次alloc函数调用时传入的参数。 </p>
Output格式
<p> 在一行内输出nitems整数,在每一items整数后输出一items空格。这些整数表示每一次alloc函数调用之后返回值的10进制表示。在本题中,假设NULL指针的10进制整数表示为0,初始时连续空间的开始指针的10进制表示为1。<br /> 请注意行尾输出换行。 </p>
Sample
Sample Input 1
1000 4 100 200 300 401
Sample Output 1
1 101 301 0
Submit Code
请先Login后Submit

🤖 AI 解题助手

OpenRouter
就绪
👋 你好!我是 AI 解题助手。
我已阅读了这problems题,可以帮你points析思路、提供Code示例。
🔓 完全Free · 无需消耗 Token