第四届蓝桥杯决赛B组C/C++——空白格式化

标题:空白格式化

本次大赛采用了全自动机器测评系统。如果你的答案与标准答案相差了一个空格,很可能无法得分,所以要加倍谨慎!但也不必过于惊慌。因为在有些情况下,测评系统会把你的答案进行“空白格式化”。其具体做法是:去掉所有首尾空白;中间的多个空白替换为一个空格。所谓空白指的是:空格、制表符、回车符。

以下代码实现了这个功能。仔细阅读代码,填写缺失的部分。

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型数组赋值,带进去试试,因为char型数组的结尾是'\0',而且f函数里都没有提到这个'\0',所以可以怀疑if里面就是要你判断还没到'\0'的位置,也就是*p_from != '\0'

#include <bits/stdc++.h>
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 != '\0')//填空位置
				*p_to++ = ' ';  
		}
	}while(*p_to++ = *p_from++);
}
int main()
{
	char s[] = "   1     5    3    ";
	f(s,s);
	puts(s);
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏落影的专栏

程序员进阶之算法练习(十九)

前言 这周很忙,但是越忙的时候反而越喜欢抽空做算法题。 欢迎关注algorithm文集。 这次A、B、C都是很合适的面试题。 正文 A. Memory ...

3626
来自专栏数据结构与算法

P3376 【模板】网络最大流

题目描述 如题,给出一个网络图,以及其源点和汇点,求出其网络最大流。 输入输出格式 输入格式: 第一行包含四个正整数N、M、S、T,分别表示点的个数、有向边的个...

2748
来自专栏WOLFRAM

九宫格数独游戏

1628
来自专栏Crossin的编程教室

【每周一坑】乒乓数

刚从假期回来,又要迎接周末,各位看官想必都很辛苦,所以本周每周一坑为大家准备一道简单的甜点题目,本题取材于伯克利大学 CS61 课程 homework02。 求...

2746
来自专栏数据结构与算法

1163 访问艺术馆

 时间限制: 1 s  空间限制: 128000 KB  题目等级 : 大师 Master 题解  查看运行结果 题目描述 Description     皮尔...

2727
来自专栏三木的博客

插入法排序

何谓算法?算法就是计算机解决问题的方法和步骤。之所以强调计算机三个字,是因为计算机处理问题的方式和我们人类解决问题的方式有所不同。比如,在电视剧《宫》里看到一个...

1975
来自专栏程序员叨叨叨

6.3 数学操作符(Math Operators)

Cg语言对向量的数学操作提供了内置的支持,Cg中的数学操作符有:*乘法、/除法、-取反、+加法、—减法、%求余、++、——、*=、/=、+=、-=。后面四种运算...

671
来自专栏IT 指南者专栏

Python OJ 从入门到入门基础练习 10 题

OJ 是 Online Judge 系统的简称,用来在线检测程序源代码的正确性 1、天天向上的力量: 一年365天,以第1天的能力值为基数,记为1.0。当好好学...

35911
来自专栏程序员叨叨叨

6.2 逻辑操作符(Logical Operators)

Cg语言中有3种逻辑操作符(也被称为boolean Operators),如表 2 所示,逻辑操作符运算后的返回类型均为bool类型。

823
来自专栏Albert陈凯

数据结构与算法汇总

文章作者博客微信公共账号:hadoop123(微信号为:hadoop-123),分享hadoop技术内幕,hadoop最新技术进展,发布hadoop相关职位和求...

3485

扫码关注云+社区