OpenJudge就算概论-过滤多余的空格
/*=====================================
过滤多余的空格
总时间限制:
1000ms
内存限制:
65536kB
描述
一个句子的每个单词之间也许有多个空格,过滤掉多余的空格,只留下一个空格
输入
一个字符串(长度不超过200),句子的头和尾都没有空格。
输出
过滤之后的句子
样例输入
Hello world.This is c language.
样例输出
Hello world.This is c language. 思路:
输入字符串a,用gets输入。
用两个下标i、j分别指向数组a,a[i]是将要被移动的字符,
a[j]是将要被a[i]覆盖的单元。
开始时i、j都指向a[0]。
从左向右扫描a数组,遇到非空格字符a[i]直接复制到a[j].
遇到空格字符则看a[j]的前一个是否空格,若是空格则新
出现的空格是多余的,否则新出现的空格是需要保留的。
======================================*/
#include<stdio.h>
#include<string.h>
int main()
{
char a[];
int i,j,len;
freopen("5.in","r",stdin);
gets(a);
len=strlen(a);
for(i=,j=;i<len;i++)//i是扫描原数组a的下标,j是调整后的下标。
{
if(a[i]!=' ')//非空格字符
{
a[j]=a[i];
j++;
}
else
{//遇到空格
if(a[j-]!=' ')//a[j]的前一个不是空格
{
a[j]=a[i];
j++;
}
}
}
a[j]='\0';
printf("%s\n",a);
return ;
}
看一个简单偷懒的实现:
#include <stdio.h>
int main(int argc, char *argv[])
{
char a[];
while(scanf("%s",a)!=EOF)
{
printf("%s ",a);
}
return ;
}
OpenJudge就算概论-过滤多余的空格的更多相关文章
- AC日记——过滤多余的空格 1.7 23
23:过滤多余的空格 总时间限制: 1000ms 内存限制: 65536kB 描述 一个句子中也许有多个连续空格,过滤掉多余的空格,只留下一个空格. 输入 一行,一个字符串(长度不超过200), ...
- Openjudge-计算概论(A)-过滤多余的空格
描述: 一个句子中也许有多个连续空格,过滤掉多余的空格,只留下一个空格. 输入一行,一个字符串(长度不超过200),句子的头和尾都没有空格.输出过滤之后的句子. 样例输入 Hello world.Th ...
- OpenJudge就算概论-最长单词2【寻找句子内部最长的单词】
/*===================================== 最长单词2 总时间限制: 1000ms 内存限制: 65536kB 描述 一个以'.'结尾的简单英文句子,单词之间用空格 ...
- OpenJudge就算概论-统计字符数
/*===================================== 统计字符数 总时间限制: 1000ms 内存限制: 65536kB 描述 判断一个由a-z这26个字符组成的字符串中哪个 ...
- 百练6247-过滤多余的空格-2015正式B题
B:过滤多余的空格 总时间限制: 1000ms 内存限制: 65536kB 描述 一个句子中也许有多个连续空格,过滤掉多余的空格,只留下一个空格. 输入 一行,一个字符串(长度不超过200),句子的 ...
- c程序设计语言_习题1-9_将输入流复制到输出流,并将多个空格过滤成一个空格
Write a program to copy its input to its output, replacing each string of one or more blanks by a si ...
- OpenJudge计算概论-取石子游戏
OpenJudge计算概论-取石子游戏[函数递归练习] /*====================================================================== ...
- textarea出现多余的空格
今天使用textarea标签,调用数据的时候,出现一些多余的空格,如何改变属性都不能够经过某属性将空格去掉,经过查询,看了zuyi532的专栏(http://blog.csdn.net/zuyi532 ...
- 字符串中去除多余的空格保留一个(C#)
在C#的字符串,其中有许多空格,现要求是把多余的空格去除保留一个.原理是使用Split()方法进行分割,分割有一个选项是RemoveEmptyEntries,然后再把分割后的字符串Join起来. st ...
随机推荐
- WebService是什么?
一.序言 大家或多或少都听过WebService(Web服务),有一段时间很多计算机期刊.书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成分.但是不得不承认的是Web ...
- 步步入佳境---UI入门(3) --单视图控制器
视图控制器特点//1,抽象 视觉上没有效果//2,负责控制视图的显示方式//3,负责通知视图的显示内容//4,ios平台赋予的,收到内存警告和检测设备旋转@interface CHViewContr ...
- 12、C#基础整理(结构体)
结构体 1.概念: 结构体是写在main函数外的数据结构,由不同类型的数据组合成一个整体,这些组合在一个整体中的数据是互相联系的 2.声明方式: struct 结构体名 { 成员变量(由类型名+成员名 ...
- css 设置样式
前台div <div id="DIV1" runat="server" > </div> 后台: this.DIV1.Style.Val ...
- 表视图控制器(TableViewController)(一)
1 创建一个UITableViewController并展示简单数据 1.1 问题 有很多移动客户端的应用都是采用表的形式来展示数据,因为表视图能使数据看起来更规整.更有调理,比如微信界面就是使用的表 ...
- Cocos2d-x游戏移植到Android平台
1.所需环境支持:Android SDK.NDK.Eclipse.Cygwin.(本人所用系统WIN7-64位) (1)Cygwin的下载安装: Cygwin是Windows下的Linux模拟环境,用 ...
- 357. Count Numbers with Unique Digits
Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10n. Examp ...
- safari穿越到chrome
tell application "Safari" set theURL to URL of front document set the clipboard to theURL ...
- 菜鳥日記:為 Github 添加 ssh
這只是一篇求真務實言簡意賅的菜鳥日記 記錄了碼盲在OSX 中為Github添加 ssh 的過程 要從 Github 上克隆個源碼到本地,發現無 ssh 密鈅 於是開到官網幫助照貓畫虎如下: 1.打開 ...
- C++ Primer : 第十二章 : 动态内存之shared_ptr类实例:StrBlob类
StrBlob是一个管理string的类,借助标准库容器vector,以及动态内存管理类shared_ptr,我们将vector保存在动态内存里,这样就能在多个对象之间共享内存. 定义StrBlob类 ...