一些项目——空白格式化
2016-04-04 11:46
232 查看
题目描写叙述
恭喜你进入了蓝桥杯总决赛,本次大赛採用了全自己主动机器測评系统。假设你的答案与标准答案相差了一个空格,非常可能无法得分,所以要加倍慎重。
但也不必过于惊慌。
由于在有些情况下,測评系统会把你的答案进行“空白格式化”。其详细做法是:去掉全部首尾空白;中间的多个空白替换为一个空格。
所谓空白指的是:空格、制表符、回车符。
下面代码实现了这个功能。细致阅读代码,填写缺失的部分,并补充完整使其可以工作。
void f(char* from, char* to)
{
char* p_from = from;
char* p_to = to;
while(*p_from==' ' || *p_from=='\t' || *p_from=='\n') p_from++;
do{
if(*p_from==' ' || *p_from=='\t' || *p_from=='\n'){
do{p_from++;} while(*p_from==' ' || *p_from=='\t' || *p_from=='\n');
if(____________________) *p_to++ = ' '; //填空位置
}
}while(*p_to++ = *p_from++);
}
输入
一行代码。不是标准格式。输出
输出代码的标准形式。例子输入
char* p_from = from;
例子输出
char* p_from = from;
提示
代码的标准格式是。首尾没有空格。中间有空格的地方应该仅仅有一个空格不能有多个。代码
#include <iostream> #include <cstdio> using namespace std; void f(char* from, char* to) { char* p_from = from; char* p_to = to; while(*p_from==' ' || *p_from=='\t' || *p_from=='\n') p_from++; do { if(*p_from==' ' || *p_from=='\t' || *p_from=='\n') { do { p_from++; } while(*p_from==' ' || *p_from=='\t' || *p_from=='\n'); if(*p_from!=' '&&*p_from!='\t' && *p_from!='\n') *p_to++ = ' '; } } while(*p_to++ = *p_from++); } int main() { char a[1000],b[1000]; while(gets(a)) { f(a,b); cout<<b<<endl; } return 0; }
相关文章推荐
- Java I/O流
- 文章标题
- 【Python】批量文件的编辑
- 大数据工程师:大数据的java基础 第九周
- 数据结构之栈的应用
- C/C++—— 对多态现象的理解
- java重构、重载、重写
- C++ vector
- InSAR学习(四)高级的InSAR技术之基本原理
- java文件io之PrintWriter
- 第三方框架实现横向滚动条
- 4.2016物电学院 电气工程及其自动化专业 辛雅松 15050341033
- Flask web开发 处理Ajax请求
- spring框架中多数据源创建加载并且实现动态切换的配置实例代码
- [Java开发之路](25)引用类型
- GPU虚拟化技术
- 105. Construct Binary Tree from Preorder and Inorder Traversal
- uva116
- 1-STM32学习笔记之系统架构
- C++俄罗斯方块