程序设计与算法(一)第7周测验(2019夏季)
001:统计数字字符个数
总时间限制: 1000ms 内存限制: 65536kB
描述
输入一行字符,统计出其中数字字符的个数。
输入
一行字符串,总长度不超过255。
输出
输出为1行,输出字符串里面数字字符的个数。
样例输入
Peking University is set up at 1898.
样例输出
4
来源
习题(7-1) 医学部 2010 期末试题 樊波
#include <iostream>
#include <cstring>
using namespace std;
int main(){char s[255];gets(s);int i,num=0;int len=strlen(s);for(i=0;i<len;i++){if('0'<=s[i]&&s[i]<='9'){num++;}}printf("%d",num);return 0;
}
002:找第一个只出现一次的字符
总时间限制: 1000ms 内存限制: 65536kB
描述
给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。
输入
一个字符串,长度小于100000。
输出
输出第一个仅出现一次的字符,若没有则输出no。
样例输入
abcabd
样例输出
c
#include <iostream>
#include <cstring>
using namespace std;
int main(){char s[100000];gets(s);int i,j;int len=strlen(s);for(i=0;s[i];i++){for(j=0;s[j];j++){if(i==j){continue;}if(s[i]==s[j]){break;} }if(s[j]==0){break; }} if(s[i]==0){printf("no");}else{printf("%c",s[i]);}return 0;
}
003:石头剪子布
总时间限制: 1000ms 内存限制: 65536kB
描述
石头剪子布,是一种猜拳游戏。起源于中国,然后传到日本、朝鲜等地,随着亚欧贸易的不断发展它传到了欧洲,到了近现代逐渐风靡世界。简单明了的规则,使得石头剪子布没有任何规则漏洞可钻,单次玩法比拼运气,多回合玩法比拼心理博弈,使得石头剪子布这个古老的游戏同时用于“意外”与“技术”两种特性,深受世界人民喜爱。
游戏规则:石头打剪刀,布包石头,剪刀剪布。
现在,需要你写一个程序来判断石头剪子布游戏的结果。
输入
输入包括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
提示
Rock是石头,Scissors是剪刀,Paper是布。
来源
习题(12-1) 计算概论2010(生命学院)Final Exam
自己的,老是出错:
#include <iostream>
#include <string.h>
using namespace std;
int main(){int N,i;char s1[10],s2[10],s[10];scanf("%d",&N);for(i=i;i<N;i++){scanf("%c",s1);scanf("%c",s2); if(strcmp(s1,s2)==0){strcpy(s[i],"Tie");}else if((s1=="Rock"&&s2=="Scissors")||(s1=="Scissors"&&s2=="Paper")||(s1=="Paper"&&s2=="Rock")){strcpy(s[i],"Player1");}else{strcpy(s[i],"Player2");}}for(i=0;i<N;i++){printf("%c",s[i]);}return 0;
}
参考
https://blog.csdn.net/xiewen99/article/details/52585253
#include <iostream>
#include <cstring>
using namespace std;
#define L 10
#define ROCK 2
#define SCISSORS 1
#define PAPER 0
int s2i(char s[])
{if (strcmp(s,"Rock")==0) return ROCK;else if (strcmp(s,"Scissors")==0) return SCISSORS;else return PAPER;
}
int cmp(char s1[], char s2[])
{int i1 = s2i(s1);int i2 = s2i(s2);if (i1==i2)return 0;else if (i1<i2) {if (i1==PAPER && i2==ROCK)return 1;elsereturn -1;} else {if (i1==ROCK && i2==PAPER)return -1;elsereturn 1;}
}
int main(void)
{int N;char s1[L], s2[L];cin >> N;while(N--){cin >> s1 >> s2;int n = cmp(s1, s2);if (n<0)cout << "Player2" << endl;else if (n==0)cout << "Tie" << endl;elsecout << "Player1" << endl;}return 0;
}
004:最长最短单词
总时间限制: 1000ms 内存限制: 65536kB
描述
输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。
试输出第1个最长的单词和第1个最短单词。
输入
一行句子。
输出
两行输出:
第1行,第一个最长的单词。
第2行,第一个最短的单词。
样例输入
I am studying Programming language C in Peking University
样例输出
Programming
I
提示
如果所有单词长度相同,那么第一个单词既是最长单词也是最短单词。
来源
习题(12-2)
#include <iostream>
#include <cstring>
using namespace std;
int main(void)
{char word[101], min_word[101]={'\0'}, max_word[101]={'\0'};char c, *w = word;while(cin.get(c)){if(c==' ' || c==',' || c=='\n') {*w = '\0';int len = w - word;if (len>0) {if(len<strlen(min_word)||strlen(min_word)==0)strcpy(min_word,word);if (len>strlen(max_word))strcpy(max_word,word);}if (c=='\n')break;w = word;} else {*w++ = c;}}cout << max_word << endl;cout << min_word << endl;return 0;
}
005:密码翻译
总时间限制: 1000ms 内存限制: 65536kB
描述
在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易的识别。我们给出一种最简的的加密方法,对给定的一个字符串,把其中从a-y,A-Y的字母用其后继字母替代,把z和Z用a和A替代,其他非字母字符不变,则可得到一个简单的加密字符串。
输入
输入一行,包含一个字符串,长度小于80个字符。
输出
输出每行字符串的加密字符串。
样例输入
Hello! How are you!
样例输出
Ifmmp! Ipx bsf zpv!
来源
计算概论05
#include <iostream>
#include <cstring>
using namespace std;
#define ML 80
int main(void)
{char s[ML+1] = {'\0'};cin.getline(s, sizeof(s));for (int i=0; s[i]!='\0'; i++){if (s[i]=='z')cout << 'a';else if (s[i]=='Z')cout << 'A';else if ( ('a'<=s[i] && s[i]<='y') || ('A'<=s[i] && s[i]<='Y') )cout << (char)(s[i]+1);elsecout << s[i];}cout << endl;return 0;
}
程序设计与算法(一)第7周测验(2019夏季)相关推荐
- 【程序设计与算法(三)第7周测验(2019秋季)】005:山寨版istream_iterator
描述 模仿C++标准模板库istream_iterator用法,实现CMyistream_iterator使得程序按要求输出 #include <iostream> #include &l ...
- 数据结构与算法Python版-第一周测验
1单选(2分) 以下关于基于有穷观点的能行方法说法错误的是: A. 指令执行在有限步骤后终止 B. 由有限数量的任意指令构成 C. 指令每次执行都得到唯一的结果 D. 原则上可以由人单独采用纸笔完成 ...
- 20162303 2016-2017-2 《程序设计与数据结构》第六周学习总结
20162303 2016-2017-2 <程序设计与数据结构>第六周学习总结 教材学习内容总结 通过继承来创建类,比从零开始编写代码来的更快.更容易也更经济. 继承在父类与子类之间建立了 ...
- 学号 20172326 《程序设计与数据结构》第三周学习总结
学号 20172326 <程序设计与数据结构>第三周学习总结 教材学习内容总结 队列是先进先出的数据结构(FIFO)与栈不同,队列的两端可分别进行操作 first与front相同,返回首段 ...
- 20172310 2017-2018-2 《程序设计与数据结构》第八周学习总结
20172310 2017-2018-2 <程序设计与数据结构>第八周学习总结 教材学习内容总结 我的总结主要是按照课本的顺序,对一些重要的知识点做出的总结和记录,方便后期的查看,当然其中 ...
- 20172311《程序设计与数据结构》第八周学习总结
20172311<程序设计与数据结构>第八周学习总结 教材学习内容总结 第十二章 优先队列与堆 堆(heap)就是具有两个附加属性的一颗二叉树 1.它是一颗完全树 2.对每一个节点,它小于 ...
- 20172322 《程序设计与数据结构》第八周学习总结
20172322 <程序设计与数据结构>第八周学习总结 教材学习内容总结 本章的内容主要讲堆的知识,而所谓堆就是一种具有一些特殊属性的树,就像二叉查找树一样.而堆也有两种分类,分别是 最大 ...
- 张季跃201771010139《面向对象程序设计(java)》第一周学习总结(改)
张季跃201771010139<面向对象程序设计(java)>第一周学习总结 第一部分:课程准备部分 填写课程学习 平台注册账号, 平台名称 注册账号 博客园:www.cnblogs.co ...
- 20172324 2018-2019-1 《程序设计与数据结构》第七周学习总结
20172324 2018-2019-1 <程序设计与数据结构>第七周学习总结 教材学习内容总结 概述 二叉查找树是一种含有附加属性的二叉树,即其左孩子小于父节点,而父节点又小于等于其右孩 ...
最新文章
- 微信小程序wx.request内调用setData方法
- HtmlTextWriter学习
- 聚类分析(三)Mini Batch KMeans算法
- GET 和 POST的区别(转载)
- Shanda EZ Mini
- C语言中错误c213是什么意思,DS1302的错误:error c213
- 快递扫码入库PC系统
- 高效准确处理scipy.misc 中imresize、imread导入错误问题
- 对draw.io第一次加载慢的探讨
- Python学习第一天
- 带你科学了解NAD是什么?NAD+是什么东西?
- Scrapy(二)翻页功能
- 算法学习:归并排序, pta归并排序(递归法)
- C++primer 第五版 练习题【3.32】 P104页 个人解答
- 【软件分析学习笔记】5:可达定义分析(Reaching Definitions Analysis)
- windows下调整linux分区大小,fdisk、parted无损调整普通分区大小 (附:win的c盘分区大小调整)...
- 如何在Typora中以可视化或源码的方式使用markdown
- c语言程序设计试题汇编第三版勘误,c语言程序设计基础教程----勘误记录.pdf
- 「游戏」c++ 炸弹人2.0(新增人机)
- 服务器被入侵当做挖矿肉鸡