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. CryptographyUtil盐加密

    import org.apache.shiro.crypto.hash.Md5Hash; /** * 加密工具 * @author Administrator * */ public class Cr ...

  2. 使用css技术代替传统的frame技术

    http://www.dynamicdrive.com/style/layouts/item/css-left-frame-layout/ <!--Force IE6 into quirks m ...

  3. 向数据库添加学生信息。存放在REQUEST对象里

    代码前几天已经发过了,但是程序一直还没运行出来,今天重新建立了一个数据库,才可以,下面补充上数据截图

  4. scala sparseVetor, SprseMatrix 实现

    def rand(seed:Int):Double={ val rand=new Random(seed) rand.nextDouble()} def rand2(size:Int,seed:Int ...

  5. linux一些基本常识(三)

    acl:对本身权限的扩展    打包:zip 111.zip a.txt b.txt.....    zip -r /etc/sysconfig/* (样才能第归所有内容0)    解宝:uzip 1 ...

  6. 网页信息抓取 Jsoup的不足之处 httpunit

    今天又遇到一个网页数据抓取的任务,给大家分享下. 说道网页信息抓取,相信Jsoup基本是首选的工具,完全的类JQuery操作,让人感觉很舒服.但是,今天我们就要说一说Jsoup的不足. 1.首先我们新 ...

  7. 运行Maven项目时出现invalid LOC header (bad signature)

    为Maven小白,今天这问题困扰了我好久,经过多次在网上查询,终于找到了原因.明明一个小问题却耗费很多时间,着实不应该,所以必须记录一下. 报错信息如下:   对话框: 控制台: <span s ...

  8. like模糊查询

    1. ${}获取值,直接连接 name like '%${search_content}%' 2.CONCAT()函数 MySQL的 CONCAT()函数用于将多个字符串连接成一个字符串,是最重要的m ...

  9. Js语言的奇怪特性

    var a = .3 - 2; console.log(a); a = 0.099999998 而不是0.1,是不是很奇怪?

  10. 跳跃游戏 12 · Jump Game 12

    跳跃游戏 1 [抄题]: [思维问题]: [一句话思路]: [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入): [画图]: [一刷]: 由于要用itera ...