阿美的编辑器

top啦它 2020-06-18 09:37:35
Description

阿美向阿亮描述了自己的文本编辑需求,希望阿亮能够完善该功能:(1)每点击1次保存,则将当前文本状态进行保存;(2)最多保存10个状态,如果再次保存第11个状态,则将第1个状态销毁,依次类推。。。;(3)点击back按钮,则从当前状态的文本内容返回到上一个状态的文本内容,若没有上一个文本状态,则返回当前状态文本;(4)点击forward按钮,则从当前状态的文本内容前进到下一个状态的文本内容,若当前处于最新状态,则返回当前状态文本。
Input
有多行文本执行命令:
EDIT 字符串:代表编辑一行新文本并保存。
FORWARD:代表前进到下一个文本状态。
BACK:代表回到上一个文本状态。
QUIT:表示输入数据结束
说明:每个状态的文本内容最多不超过10000个英文字符;当遇到回车既是点击保存按钮,最多50个状态。
第一行一定是一个以EDIT开始的命令行,且作为第一个状态,也就是没有空白状态。
Output
所有命令执行结束时,阿美编写的小说内容。
Sample Input
EDIT 50年前,长沙镖子岭。
EDIT 四个土夫子正蹲在一个土丘上,所有人都不说话,直勾勾地盯着地上那把洛阳铲。
EDIT 铲子头上带着刚从地下带出的旧土,离奇的是,这一坏土正不停地向外渗着鲜红的液体......
EDIT “这下子麻烦大喽。”老烟头把他的旱烟在地上敲了敲,接着道,“下面是个血尸嘎,弄不好我们这点儿当当,都要撂在下面噢。”
BACK
BACK
BACK
FORWARD
QUIT

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define sizezifu 50000
#define new_size 50
typedef struct{
char **top;
char **base;
int size_top_base;
}zifu;
void init_zifu(zifu *(&s))
{
s = (zifu*)malloc(sizeof(zifu)); //先给s分配内存
s->base= (char**)malloc(sizeof(char*)*new_size);
if (!s->base) {
exit(-1);
}
s->top = s->base;
s->size_top_base = 0;
}
void push(zifu *s,char *st_r1)
{
s->top[s->size_top_base] = (char *)malloc(sizeof(char) * sizezifu);
strcpy(s->top[s->size_top_base],st_r1);
s->size_top_base += 1;
}
void pop(zifu *s)
{
for(int i = 0;i < s->size_top_base;i++)
{
printf("%s\n",s->top[i]);
}
}
int main(void)
{
char strr[20];
zifu *s;
init_zifu(s);
while(1)
{
scanf("%s",strr);
char strr1[3000];
switch(strr[0])
{
case 'E':
scanf("%s",strr1);
push(s,strr1);
break;
case 'B':
s->size_top_base -= 1;
break;
case 'F':
s->size_top_base += 1;
break;
case 'Q':
pop(s);
}
}
return 0;
}


这已经可以运行了,为什么在平台上提交还是会出错

求解,多谢了。
...全文
85 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
自信男孩 2020-06-18
  • 打赏
  • 举报
回复
#include <stdio.h>
#include<string.h>
#include<stdlib.h>

#define sizezifu 50000
#define new_size 50

typedef struct{
char **top;
char **base;
int size_top_base;
}zifu;

//void init_zifu(zifu *(&s))
void init_zifu(zifu **s)
{
*s = (zifu*)malloc(sizeof(zifu)); //先给s分配内存
(*s)->base= (char**)malloc(sizeof(char*)*new_size);
if (!(*s)->base) {
exit(-1);
}
(*s)->top = (*s)->base;
(*s)->size_top_base = 0;
}
void push(zifu *s,char *st_r1)
{
s->top[s->size_top_base] = (char *)malloc(sizeof(char) * sizezifu);
strcpy(s->top[s->size_top_base],st_r1);
s->size_top_base += 1;
}
void pop(zifu *s)
{
for(int i = 0;i < s->size_top_base;i++)
{
printf("%s\n",s->top[i]);
}
}
int main(void)
{
char strr[20];
zifu *s;
init_zifu(&s);
while(1)
{
scanf("%s",strr);
char strr1[3000];
switch(strr[0])
{
case 'E':
scanf("%s",strr1);
push(s,strr1);
break;
case 'B':
s->size_top_base -= 1;
break;
case 'F':
s->size_top_base += 1;
break;
case 'Q':
pop(s);
}
}
return 0;
}

供参考~
自信男孩 2020-06-18
  • 打赏
  • 举报
回复
楼主的问题应该是编译的问题。楼主用的g++编译器,而提交用的可能是C编译器。对于参数中出现&,C++识别,但是C语言是不认的。
引用&是C++的语法。
Enviro - 完整的动态AAA天空和天气解决方案! 非常简单的设置: 只需拖放到您的场景中,分配您的主摄像头或使用运行时分配功能。 配置文件系统: Enviro的新配置文件系统可以尽可能简单地调整你的天空。在运行时调整设置并保存到配置文件。在设计和运行时加载配置文件。为不同的场景创建不同的配置文件或与其他用户共享您的配置。 日夜循环: Enviro支持逼真的夜间循环。具有正确的太阳和月亮位置以及全方位的经纬度支持。你可以选择使用你的系统时间,或根据实时分钟让enviro更新时间。 空中包厢: Enviro包括一个先进的快速大气天空箱着色器,以获得美丽的天空!你有很多选择来调整天空,甚至可以设置时髦的外星人的天空! 照明: Enviro会根据太阳高度真实地照亮您的场景。通过在编辑器中修改曲线和渐变,您可以完全控制光线强度和颜色!您当然也可以选择不同的环境光模式。 季节: Enviro将改变季节,并有一个组件来换取游戏对象,材料和团结地形的纹理。你不仅限于现实的设置!您可以设置每个赛季的最后天数。 云: Enviro新的容积云系统基于最新的云渲染论文。这些将带给你生命的天空,并提供丰富的选项来定制。此外,还有快速平坦的云层选项可以混合或使用,以实现最佳性能。 雾: 需要惊人的看起来雾?Enviro具有高级光散射雾影像效果,支持距离,高度和天空雾。您的透明材质需要雾?没问题,只需要几行代码就可以修改自己的透明着色器,使其正确模糊。并且已经包含一些粒子和透明着色器以帮助您开始! 体积照明: 需要在AAA游戏中看到一些音量灯光效果?没问题,enviro支持定向,点和射灯箱体积立体化! 天气: Enviro包括一个非常强大的天气系统。您可以创建自己的天气类型,并驱动光线,天空,雾和云。Enviro支持所有类型的统一shuriken粒子效果,使您可以自由创建任何您能想到的天气效果。它包括11种预制天气类型,包括:晴朗天空,多云,下雨,暴风雨,下雪和有雾的天气。您可以启用闪电风暴,并为每个天气选择不同的环境和天气声音,并进行平滑过渡。 网络: Enviro支持UNet和Photon开箱即用。它将与所有玩家同步时间和天气。Enviro还为无头服务器提供了最低限度的模式,只计算时间和天气,但仅此而已。 虚拟现实: Enviro支持多通道和单通道立体渲染!经过Oculus Rift测试。(注意:Singlepass目前仅支持Unity 2017+!) 这还不是全部!Enviro包含许多更好的功能: *游戏逻辑的事件系统。 *天气区。为您的生物群组创建与自己的天气一样多的区域。 *轨道卫星。 *植被生长。 资源名称: Sky and Weather v2.3.1(2020/10/4更新) 资源版本:v2.3.1 资源类型: .unitypackage 资源大小: 192 MB 支持版本:5.6.0及以上版本

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧