SDUST_OJ-1070-源代码的格式-AC
来源:互联网 发布:dbeaver数据库备份 编辑:程序博客网 时间:2024/05/19 20:41
这个题看着和麻烦,其实格式看完了之后思路还是比较简单的,就是判断特殊字符,控制格式。
首先,在读取数据这里卡了一下,用getchar在回车后就会阻塞就会停止,触发之后的事件。
所以想直接读取单个字符直接判断输出是不行了,那就先读到数组中。
之后就要注意格式了,这个题叙述和样例不太一样,具体询问老师后,似乎应该按照样例的来,即逗号后面有空格和左花括号前有空格,其他按叙述来。
AC代码:
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <ctype.h>void suojin(int n){ int i; for (i=0;i<n;i++) printf(" ");}int main(){ char ch; int i=0,n=0,slen; char str[3000]; while((ch=getchar())!=EOF) { if (!isspace(ch)) { str[i]=ch; i++; } } str[i]=0; slen=strlen(str); for (i=0;i<slen;i++) { if (str[i]=='{') { if (n) putchar(' '); putchar(str[i]); if (str[i+1]!=';') putchar('\n'); n++; suojin(n); continue; } else if (str[i]=='}') { if (str[i-1]!=';') putchar('\n'); n--; suojin(n); putchar(str[i]); continue; } else if (str[i]==';') { putchar(str[i]); if (str[i+1]!='{') putchar('\n'); if (str[i+1]!='{'&&str[i+1]!='}') suojin(n); continue; } else if (str[i]==',') { putchar(str[i]); putchar(' '); } else putchar(str[i]); } return 0;}
0 0
- SDUST_OJ-1070-源代码的格式-AC
- SDUST_OJ-1069-模拟一种扑克牌游戏-AC
- VS2010支持的源代码格式
- Tab-size独立的源代码的格式
- 如何根据configure.ac和Makefile.am为开源代码产生当前平台的Makefile
- csdn 以【源代码】的格式显示所贴的代码
- csdn 以【源代码】的格式显示所贴的代码
- Delphi编码标准——一般的源代码格式规则
- Delphi编码标准——一般的源代码格式规则
- RGBA转化成YV12 或YUV420格式的源代码
- 客户端上用xsl转换xml格式的源代码
- 编译Unix高级编程源代码出现的格式warning
- 颜色格式转换: FFmpeg源代码简单分析:libswscale的sws_getContext()
- 颜色格式转换:FFmpeg源代码简单分析:libswscale的sws_scale()
- automake中Makefile.am和configure.ac的格式及编译过程
- automake中Makefile.am和configure.ac的格式及编译过程
- SDUST_OJ-1608-斐波那契数列
- 判断文件编码格式源代码
- Unity3D学习之(碰撞检测小项目)
- 序列化类型为“×××的对象时检测到循环引用
- vim for php IDE 我的打造过程
- linux TCP头部的构造的简单分析
- hibernate的查询缓存
- SDUST_OJ-1070-源代码的格式-AC
- nginx反向代理
- CentOS6.x中vmware workstation 虚拟机启动报错:Could not open /dev/vmmon
- MAC虚拟内存
- Mac如何允许安装非App Store的软件
- Java SE 8 资料网址备忘
- 树的最大权值独立集
- 一个很有借鉴价值的编程故事
- 并发程序模式(二)—MasterWorker