YTU 2574: 空白格式化
2574: 空白格式化
时间限制: 1 Sec 内存限制: 128 MB
提交: 233 解决: 118
题目描述
恭喜你进入了蓝桥杯总决赛,本次大赛采用了全自动机器测评系统。
如果你的答案与标准答案相差了一个空格,很可能无法得分,所以要加倍谨慎!
但也不必过于惊慌。因为在有些情况下,测评系统会把你的答案进行“空白格式化”。其具体做法是:去掉所有首尾空白;中间的多个空白替换为一个空格。所谓空白指的是:空格、制表符、回车符。
以下代码实现了这个功能。仔细阅读代码,填写缺失的部分,并补充完整使其能够工作。
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<stdio.h>
int main()
{
void f(char* from, char* to);
char pf[1000],pt[1000];
char *pff=pf,*ptt=pt;
while(~scanf("%s",pf))
{
f(pff,ptt);
printf("%s ",pt);
}
printf("\n");
return 0;
}
void f(char* from, char* to)
{
char* p_from = from;//对指针赋值,其中p_from为开始
char* p_to = to; //p_to 为结束
while(*p_from==' ' || *p_from=='\t' || *p_from=='\n')
p_from++; //第一个字符,当指针所指为空格或tab或换行
do
{
//当指针所指内容为空格或tab或换行,指针向后移动
//如果不为 空格或tab或换行,p_to=p_from,后两者均向后移动
if(*p_from==' ' || *p_from=='\t' || *p_from=='\n')
{
do
{
p_from++;
}
while(*p_from==' ' || *p_from=='\t' || *p_from=='\n');
//当指针所指内容为空格或tab或换行,指针向后移动
if(*p_from!=' '&&*p_from=='\t' && *p_from=='\n') *p_to++ = ' ';
//当指针内容不为空时,令p_to指针记录p_from 的地址
}
}
while(*p_to++ = *p_from++); //当*p_to不为空时循环
}
int main()
{
void f(char* from, char* to);
char pf[1000],pt[1000];
char *pff=pf,*ptt=pt;
while(~scanf("%s",pf))
{
f(pff,ptt);
printf("%s ",pt);
}
printf("\n");
return 0;
}
void f(char* from, char* to)
{
char* p_from = from;//对指针赋值,其中p_from为开始
char* p_to = to; //p_to 为结束
while(*p_from==' ' || *p_from=='\t' || *p_from=='\n')
p_from++; //第一个字符,当指针所指为空格或tab或换行
do
{
//当指针所指内容为空格或tab或换行,指针向后移动
//如果不为 空格或tab或换行,p_to=p_from,后两者均向后移动
if(*p_from==' ' || *p_from=='\t' || *p_from=='\n')
{
do
{
p_from++;
}
while(*p_from==' ' || *p_from=='\t' || *p_from=='\n');
//当指针所指内容为空格或tab或换行,指针向后移动
if(*p_from!=' '&&*p_from=='\t' && *p_from=='\n') *p_to++ = ' ';
//当指针内容不为空时,令p_to指针记录p_from 的地址
}
}
while(*p_to++ = *p_from++); //当*p_to不为空时循环
}
YTU 2574: 空白格式化的更多相关文章
- C语言 · 空白格式化
标题:空白格式化 “空白格式化”具体做法是:去掉所有首尾空白:中间的多个空白替换为一个空格.所谓空白指的是:空格.制表符.回车符. 填空为:*p_to<*p_from: #include< ...
- java实现第四届蓝桥杯空白格式化
空白格式化 本次大赛采用了全自动机器测评系统. 如果你的答案与标准答案相差了一个空格,很可能无法得分,所以要加倍谨慎! 但也不必过于惊慌.因为在有些情况下,测评系统会把你的答案进行"空白格式 ...
- 2013年第四届蓝桥杯C/C++程序设计本科B组决赛
1.猜灯谜(枚举) 2.连续奇数和(等差数列) 3.空白格式化(去除空格) 4.高僧斗法(阶梯nim) 5.格子刷油漆(dp) 6.农场阳光 1.猜灯谜 A 村的元宵节灯会上有一迷题:请猜谜 * 请猜 ...
- Git详解之七:自定义Git
自定义 Git 到目前为止,我阐述了 Git 基本的运作机制和使用方式,介绍了 Git 提供的许多工具来帮助你简单且有效地使用它. 在本章,我将会介绍 Git 的一些重要的配置方法和钩子机制以满足自定 ...
- 自定义 Git - 配置 Git
用git config配置 Git,要做的第一件事就是设置名字和邮箱地址: $ git config --global user.name "John Doe" $ git con ...
- 算法笔记_203:第四届蓝桥杯软件类决赛真题(C语言B组)
目录 1 猜灯谜 2 连续奇数和 3 空白格式化 4 高僧斗法 5 格子刷油漆 6 农场阳光 前言:以下代码仅供参考,若有错误欢迎指正哦~ 1 猜灯谜 标题:猜灯谜 A 村的元宵节灯会上有一迷题: ...
- Git详解之七 自定义Git
以下内容转载自:http://www.open-open.com/lib/view/open1328070404827.html自定义 Git 到目前为止,我阐述了 Git 基本的运作机制和使用方式, ...
- Git详解之特殊配置与钩子应用
前言 到目前为止,我阐述了 Git 基本的运作机制和使用方式,介绍了 Git 提供的许多工具来帮助你简单且有效地使用它. 在本章,我将会介绍 Git 的一些重要的配置方法和钩子机制以满足自定义的要求. ...
- 第四届蓝桥杯C++B组国(决)赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.猜灯谜 A 村的元宵节灯会上有一迷题: 请猜谜 * 请猜谜 = 请边赏灯边猜 小明想,一定是每个汉字代表一个数字,不同的汉字代表不同的 ...
随机推荐
- js正则替换十六进制
var re=/\x62/;//没有0,也没有分号。alert(re.test("blue")); //output "true" 需要使用< 如需显示 ...
- C 的指针和内存泄漏
引言 对于任何使用 C 语言的人,如果问他们 C 语言的最大烦恼是什么,其中许多人可能会回答说是指针和内存泄漏.这些的确是消耗了开发人员大多数调试时间的事项.指针和内存泄漏对某些开发人员来说似乎令人畏 ...
- Oracle中有关数学表达式的语法
Oracle中有关数学表达式的语法 三角函数 SIN ASIN SINHCOS ACOS COSHTA ...
- Light oj-1259 - Goldbach`s Conjecture
1259 - Goldbach`s Co ...
- [codeforces724D]Dense Subsequence
[codeforces724D]Dense Subsequence 试题描述 You are given a string s, consisting of lowercase English let ...
- HDU 3932 模拟退火
HDU3932 题目大意:给定一堆点,找到一个点的位置使这个点到所有点中的最大距离最小 简单的模拟退火即可 #include <iostream> #include <cstdio& ...
- HDU——2119 Matrix
Matrix Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- [Bzoj3668][Noi2014]起床困难综合症(位运算)
3668: [Noi2014]起床困难综合症 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 2612 Solved: 1500[Submit][St ...
- FIREDAC保存ORACLE的BLOB字段数据
FIREDAC默认识别ORACLE的BLOB字段为HUGEBLOB,需要将HBLOB映射为BLOB,才可以保存ORACLE的BLOB字段的数据.
- 使用datatables实现后台分页功能,减轻前端渲染压力
注意不同版本,参数名字及参数内容存在差异,具体可以参考https://datatables.net/upgrade/1.10-convert#Options 控制页面显示的参数:https://dat ...