1.     统计不同类型字符出现次数

【问题描述】

输入一个字符串(假设长度不超过1000个字符),统计其中大写,小写,数字,其他字符出现的次数。

【样例输入】Hello,what are you doing 123?

【样例输出】1  19  3  6

#include<iostream>
#include<cstring>
using namespace std;
int main() {
char a[];
int dx = ,xx = ,sz = ,qt = ;
int l, i;
//输入字符串
cin.getline(a,);
l = strlen(a);
for(i = ; i < l; i++) {
if(a[i] >='A' && a[i] <='Z') {
dx++;
} else if(a[i] >='a' && a[i] <='z') {
xx++;
} else if(a[i] >='' && a[i] <='') {
sz++;
} else {
qt++;
}
}
cout << dx <<" " << xx <<" "<< sz<<" " << qt;
return ;
}

2.     删除数字字符,并统计删除的数字的个数

【问题描述】

从键盘输入一个由大、小写字母和数字组成的任意一个字符串(不需判断),其长度不小于 8,不大于 30。现要求将字符串

中的所有数字字符删除,其他字符依照原有顺序保持不变,并统计删除的数字的个数。

【输入文件]】

只有一行,包含只由大、小写字母和数字组成的一个字符串(其长度 8≤L≤30)。

【输出文件]】

有两行:

第一行:为删除数字字符后的字符串;

第二行:为统计删除的数字的个数。

【要求】每行的输出数据从第一列输出

【样例输入】

ABCD123efg678

【样例输出】

ABCDefg

6

#include<iostream>
#include<cstring>
using namespace std;
int main() {
char a[];
int i,l,sum = ;
cin >> a;
l=strlen(a);
for(i=; i<l; i++) {
if(a[i]>='' && a[i]<='') {
sum++;
} else {
cout << a[i];
}
}
cout << endl;
cout << sum;
return ;
}

1.     判断字符串是否为回文

【问题描述】

输入一个字符串,输出该字符串是否回文。回文是指顺读和倒读都一样的字符串。

输入为一行字符串(字符串中没有空白字符,字符串长度不超过100)。

如果字符串是回文,输出yes;否则,输出no。

【样例输入】

abcdedcba

【样例输出】

Yes

#include<iostream>
#include<cstring>
using namespace std;
int main() {
char str1[],str2[];
int i;
long len;
cin >> str1;
len = strlen(str1);
for(i=; i<len; i++) {
str2[i]=str1[len--i];
}
str2[i]='\0';
if(strcmp(str1,str2)==) {
cout << "yes";
} else {
cout << "no";
}
return ;
}

2.     石头剪子布

【问题描述】

石头剪子布,是一种猜拳游戏。起源于中国,然后传到日本、朝鲜等地,随着亚欧贸易的不断发展它传到了欧洲,到了近现代逐渐风靡世界。简单明了的规则,使得石头剪子布没有任何规则漏洞可钻,单次玩法比拼运气,多回合玩法比拼心理博弈,使得石头剪子布这个古老的游戏同时用于“意外”与“技术”两种特性,深受世界人民喜爱。

游戏规则:石头打剪刀,布包石头,剪刀剪布。

现在,需要你写一个程序来判断石头剪子布游戏的结果。

输入:输入包括N+1行:

第一行是一个整数N,表示一共进行了N次游戏。1 <= N <= 100。

接下来N行的每一行包括两个字符串,表示游戏参与者Player1,Player2的选择(石头、剪子或者是布):S1 S2

字符串之间以空格隔开S1,S2只可能取值在{"Rock", "Scissors", "Paper"}(大小写敏感)中。

输出:输出包括N行,每一行对应一个胜利者(Player1或者Player2),或者游戏出现平局,则输出Tie。

【样例输入】

3

Rock Scissors

Paper Paper

Rock Paper

【样例输出】

Player1

Tie

Player2

#include <iostream>
#include <string>
#include <cstring>
using namespace std;
int main() {
int N;
string a, b;
cin >> N;
for (int i=; i<N; i++) {
cin >> a;
cin >> b;
if (a.compare("Rock") == ) {
if (b.compare("Rock") == ) {
cout << "Tie" << endl;
} else if (b.compare("Scissors") == ) {
cout << "Player1" << endl;
} else {
cout << "Player2" << endl;
}
} else if (a.compare("Scissors") == ) {
if (b.compare("Rock") == ) {
cout << "Player2" << endl;
} else if (b.compare("Scissors") == ) {
cout << "Tie" << endl;
} else {
cout << "Player1" << endl;
}
} else {
if (b.compare("Rock") == ) {
cout << "Player1" << endl;
} else if (b.compare("Scissors") == ) {
cout << "Player2" << endl;
} else {
cout << "Tie" << endl;
}
}
}
return ;
}

3.     找第一个只出现一次的字符

【问题描述】

给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。

输入:一个字符串,长度小于100000。

输出:输出第一个仅出现一次的字符,若没有则输出no。

【样例输入】

abcabd

【样例输出】

c

#include<iostream>
#include<cstring>
using namespace std;
int main() {
//定义字符数组
char str[];
//定义一个长度 定义存储每一个字符出现的次数的数组
int len,a[]= {};
//输入字符串
cin >> str;
//求字符串长度
len = strlen(str);
//abacad a存每个字符的个数 a0++ 2 a++ 1
for(int i=; i<len; i++) {
a[str[i]-]++;
}
for(int i=; i<len; i++) {
if(a[str[i]-]==) {
cout << str[i];
return ;
}
}
cout << "no";
return ;
}

noip第10课作业的更多相关文章

  1. noip第5课作业

    1.     计算税收 [问题描述] 对某产品征收税金,在产值1万元以上收税5%:在1万元以下但在5000元或者以上的征收税3%:在5000元以下但在1000元或以上征收税2%:1000元以下的免收税 ...

  2. noip第34课作业

    1.    信息加密 [问题描述] 在传递信息的过程中,为了加密,有时需要按一定规则将文本转换成密文发送出去.有一种加密规则是这样的:1. 对于字母字符,将其转换成其后的第3个字母.例如:A→D,a→ ...

  3. noip第33课作业

    1.    排座椅 [问题描述] 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同 ...

  4. noip第29课作业

    1.   钢条切割 [问题描述] 一家公司购买长钢条,将其切割成短钢条出售,切割本身没有成本,长度为i的短钢条的价格为Pi.那给定一段长度为n的钢条和一个价格表Pi,求钢条的切割方案使得收益Rn最大. ...

  5. noip第28课作业

    分段数列 [问题描述] 对于给定的一个长度为N的正整数数列A[i],现要将其分成连续的若干段,并且每段和不超过M(可以等于M),问最少能将其分成多少段使得满足要求. 输入格式: 输入第1行包含两个正整 ...

  6. noip第27课作业

    1. 繁忙的都市 [问题描述] 城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造.城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道路相连,两个 ...

  7. noip第25课作业

    1.   求一个有向图所有顶点入度的和 输入有向图的顶点个数,边数以及各顶点之间的关联情况,要求求出这个有向图的所有顶点入度的总和. [输入格式] 第1行:2个空格分开的整数n(2<=n< ...

  8. noip第24课作业

    1.  马走日 [问题描述] 马在中国象棋以日子形规则移动.请编写一段程序给定n*m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点. ...

  9. noip第23课作业

    1.   营救 铁塔尼号遇险了!他发出了求救信号.距离最近的哥伦比亚号收到了讯息,时间就是生命,必须尽快赶到那里. 通过侦测,哥伦比亚号获取了一张海洋图.这张图将海洋部分分化成n*n个比较小的单位,其 ...

随机推荐

  1. 如何将String转换为int

    1. int i = Integer.parseInt([String]); 或 i = Integer.parseInt([String],[int radix]); Integer.parseIn ...

  2. Hibernate 的Ehache学习

    Hibernate默认二级缓存是不启动的,启动二级缓存(以EHCache为例)需要以下步骤: 1.添加相关的包: Ehcache.jar和commons-logging.jar,如果hibernate ...

  3. 漫谈四种神经网络序列解码模型【附示例代码】 glimpse attention

    漫谈四种神经网络序列解码模型[附示例代码] http://jacoxu.com/encoder_decoder/ [视觉注意力的循环神经网络模型]http://blog.csdn.net/leo_xu ...

  4. spring中的BeanFactory和FactoryBean的区别与联系

    首先,这俩都是个接口… 实现 BeanFactory 接口的类表明此类是一个工厂,作用就是配置.新建.管理 各种Bean. 而 实现 FactoryBean 的类表明此类也是一个Bean,类型为工厂B ...

  5. 用R包来下载sra数据

    1)介绍 我们用SRAdb library来对SRA数据进行处理. SRAdb 可以更方便更快的接入  metadata associated with submission, 包括study, sa ...

  6. 如何设置maven的local repository目录

    step1:默认会放在~/.m2/repository目录下 (“~”代表用户的目录,比如windows下一般都是C:\Documents and Settings\[你的用户名]\.由于“Docum ...

  7. Python3 ascii() 函数

    Python3 ascii() 函数  Python3 内置函数 描述 ascii() 函数类似 repr() 函数, 返回一个表示对象的字符串, 但是对于字符串中的非 ASCII 字符则返回通过 r ...

  8. SSH(Struts,Spring,Hibernate)和SSM(SpringMVC,Spring,MyBatis)的区别

    SSH 通常指的是 Struts2 做前端控制器,Spring 管理各层的组件,Hibernate 负责持久化层. SSM 则指的是 SpringMVC 做前端控制器,Spring 管理各层的组件,M ...

  9. nginx中图片无法显示

    如果没有配置虚拟主机,则修改nginx.conf. 如果已创建单独虚拟主机,则在vhost下找到指定的主机配置文件, 如:www.xxx.com.conf location ~ .*\.(gif|jp ...

  10. springmvc将处理后的数据通过get方法传给页面时,可能会出现乱码。下面对于get请求中文参数出现乱码提出解决办法。

    对于get请求中文参数出现乱码解决办法有两个: 1.修改tomcat配置文件(tomcat--->conf--->server.xml)添加编码与工程编码一致,如下: <Connec ...