专项练习之字符串

1205 单词翻转

 

 时间限制: 1 s
 空间限制: 128000 KB
 题目等级: 青铜 Bronze
 
 
题目描述 Description

给出一个英语句子,希望你把句子里的单词顺序都翻转过来

输入描述 Input Description

输入包括一个英语句子。

输出描述 Output Description

按单词的顺序把单词倒序输出

样例输入 Sample Input

I love you

样例输出 Sample Output

you love I

数据范围及提示 Data Size & Hint

简单的字符串操作

分类标签 Tags 

 字符串处理
 
/*
这么简单的题╮(╯▽╰)╭
*/
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
string a[101];
int t=1;
int main()
{
    while(cin>>a[t]&&getchar()==' ')t++;
    for(int j=t;j>=1;j--)cout<<a[j]<<" ";
    return 0;
}

 

 

1485 字符配对

 

 时间限制: 1 s
 空间限制: 128000 KB
 题目等级: 青铜 Bronze
 
题目描述 Description

在一个字符串中,把相同的字符两两删除,求剩下字符的个数。

例如:字符串asasda,

首先删除两个'a',得到字符串'ssda'。

然后删除两个's',得到字符串'da'。

此时,字符串中没有了相同的字符,删除结束,剩下个数为2。

输入描述 Input Description

一个字符串,含义如描述所示。

输出描述 Output Description

字符串中剩余字符的个数。

样例输入 Sample Input

asasda

样例输出 Sample Output

2

数据范围及提示 Data Size & Hint

字符串的长度<=1,000,000(用ansistring)。

字符串中只会包含小写字母。

只要求输出剩余的个数。

分类标签 Tags 

 字符串处理 模拟
 
/*
没办法,我就是喜欢刷水题……
*/
#include<iostream>
#include<cstdio>
using namespace std;
int t[30]={0},ans=0;
char c;
int main()
{
    while(scanf("%c",&c)!=EOF)t[c-'a']++;
    for(int i=0;i<26;i++)
        if(t[i]%2)
            ans++;
    printf("%d\n",ans);
    return 0;
}

 

1505 神秘的杂文

 

 时间限制: 1 s
 空间限制: 128000 KB
 题目等级: 青铜 Bronze
 
 
 
题目描述 Description

有一篇“杂文”,由一些整数、带小数点的实数和乱七八糟的单词(字符串)组成。整数的范围必须在-70000到70000之间;实数用一般形式表示,而不用科学计数法,

大小也在-70000到70000之间,(输入文件中保证)有效数字不超过10位;凡不符合以上格式和范围的都是单词,一个单词内部不含空格。

这些内容由空格或者回车分割,连续的空格可能不只一个,也可能有空行。

求除了单词以外的整数和实数的算术平均值。

输入描述 Input Description

由整数、实数和单词间隔形成的文章。每行至多255个字符。文章大小至多100KB。

输出描述 Output Description

文中符合要求的整数和实数的平均值,四舍五入保留小数点后2位。

样例输入 Sample Input

3 3.14 aaa  5a

A5 -3

 

-3.14  5

样例输出 Sample Output

1.00

分类标签 Tags 
 
字符串处理
 
#include<cstdio>
#include<cstdlib>
char *p,b[256];
int n;
double t=0,s=0;
int main()
{
    while(scanf("%s",b)!=EOF)
    {
        t=strtod(b,&p);//strtod(将字符串转换成浮点数)
        if(!*p&&t<=70000&&t>=-70000)
        {
            n++;
            s+=t;
        }
    }
    if(n==0)printf("0.00");
    else printf("%0.2lf\n",s/n);
    return 0;
}

 

posted @ 2017-05-18 20:23  笑面  阅读(289)  评论(0编辑  收藏  举报