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. VC中使用ADO操作数据库的方法

    源地址:http://blog.csdn.net/xiaobai1593/article/details/7459862 准备工作: (1).引入ADO类 #import "c:\progr ...

  2. Java静态初始化,实例初始化以及构造方法

    首先有三个概念需要了解: 一.静态初始化:是指执行静态初始化块里面的内容. 二.实例初始化:是指执行实例初始化块里面的内容. 三.构造方法:一个名称跟类的名称一样的方法,特殊在于不带返回值. 我们先来 ...

  3. scala-- 内建控制结构

    内建控制结构 ​ scala 内建的控制结构很少,只有 if while for try match 和函数调用 几种. 因为scala 从语法层面支持函数字面量.几乎所有的scala控制结构都会产生 ...

  4. spark 创建稀疏向量和矩阵

    http://blog.csdn.net/canglingye/article/details/41316193 [相互转换]:http://stackoverflow.com/questions/3 ...

  5. Ansible Playbook Roles and Include Statements

    介绍 虽然可以在一个非常大的文件中编写一个playbook(您可能会以这种方式开始学习playbook),但最终您将需要重新使用文件并开始组织事情. 在基本级别,饱含任务的文件允许您将配置策略分解成较 ...

  6. gtftools软件简单介绍(我自己不建议用,因为我发现不好用)

    1)背景 生物信息学研究经常涉及计算或提取基因的各种特征,如基因ID作图,GC含量计算和不同类型的基因长度,通过操纵基因模型,这些模型通常以GTF格式注释,可从ENSEMBL或GENCODE数据库获得 ...

  7. 部分PR回写的数量带有小数,分别是2023工厂的纸箱104007000389,2021工厂的纸盒404002005930;

    描述:部分PR回写的数量带有小数,分别是2023工厂的纸箱104007000389,2021工厂的纸盒404002005930: 原因:所有物料规划PR时对舍入值的先后考虑逻辑影响到回写出来的temp ...

  8. javascript 中 if (window != top) top.location.href = location.href;的意思

    如果当前窗口不是顶级窗口,就强制修改为顶级窗口: 目的是为了不让别人用iframe嵌入你的页面

  9. Spring简单获得实体类的实例, 使用ApplicationContext()方法的几点注意事项

    今天接触了Spring的初步用法, 感觉跟实例化实体类没啥区别, 像这种简单的代码还不如直接实例化来的方便, 这样使用Spring的话总共需要三个文件 第一个当然是一个实体类了, 定义好属性, get ...

  10. 修改hosts,***

    某些网站之所以在国内上不了,是因为dns受到干扰,无法解析出正确的ip地址. 可以在hosts文件中加入网站对应的正确ip地址,进行访问. 1.打开hosts文件,  路径为 C:\Windows\S ...