2454: 甜蜜的烦恼

题目描述

 

最近珍珍学会了使用电脑,她发现可以利用电脑解决很多事情,并且效率会快许多。比如,在一份名单中找某个人的姓名,在以前,她得依次逐个查找,速度慢又很容易看错。现在,她使用菜单命令:“编辑”-“查找”(或按Ctrl+F键),在弹出的查找对话框中,输入要查找的姓名,电脑就会找到要找的姓名或告诉你不存在你要找的姓名了。真是又快又准,太爽了!

今天珍珍在查找时,输入“张明”,电脑告诉她不存在,但她不经意间发现“张 明”是有的!原来,提供原始名单的人,为了格式漂亮在中间输入了一个空格,因此电脑找不到了。她想这容易解决,继续查找“李达”,没有?查找“李 达”(中间一个空格),还没有?原来某些姓名中间的空格数是有多个的!

珍珍想删除所有姓名中间的空格,但由于名单很多,一个一个删除太慢了,所以她找到了会编程解决问题的你,请你写一个程序,删除所有名单中间的空格。

输入格式

 

第一行只有一个正整数n,表示名单中共有n个人的姓名。 

第二行至第n+1行共n行,每行是一个人的姓名(由大小写英文字母以及字母之间的空格组成)。

输出格式

 

有n+1行,第一行只有一个正整数,表示总共删除的空格数。

第二行至第n+1行共n行,每行表示一个删除空格后的姓名(按照输入姓名的次序)。

样例输入

3
ZhangMing
Li  Da
Wu Ya  Fei

样例输出

5
ZhangMing
LiDa
WuYaFei

提示/说明

 

【数据限制】100%的数据,1≤n≤10000,每行姓名的字符数不超过100。

AC代码

#include<bits/stdc++.h>
#define gets(S) fgets(S,sizeof(S),stdin)
using namespace std;
char s[10005][103];
int main(){  
	int n,ans=0;
    cin>>n;
    getchar();
    for(int i=0;i<n;i++){
        gets(s[i]);
        for(int j=0;s[i][j];j++){
            if(s[i][j]==' '){
            	ans++;
			}
        }    
    }
    cout<<ans<<endl;
    for(int i=0;i<n;i++){
        for(int j=0;s[i][j];j++){
            if(s[i][j]!=' '){
            	cout<<s[i][j];
			}
		}
    }
    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值