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夏季)相关推荐

  1. 【程序设计与算法(三)第7周测验(2019秋季)】005:山寨版istream_iterator

    描述 模仿C++标准模板库istream_iterator用法,实现CMyistream_iterator使得程序按要求输出 #include <iostream> #include &l ...

  2. 数据结构与算法Python版-第一周测验

    1单选(2分) 以下关于基于有穷观点的能行方法说法错误的是: A. 指令执行在有限步骤后终止 B. 由有限数量的任意指令构成 C. 指令每次执行都得到唯一的结果 D. 原则上可以由人单独采用纸笔完成 ...

  3. 20162303 2016-2017-2 《程序设计与数据结构》第六周学习总结

    20162303 2016-2017-2 <程序设计与数据结构>第六周学习总结 教材学习内容总结 通过继承来创建类,比从零开始编写代码来的更快.更容易也更经济. 继承在父类与子类之间建立了 ...

  4. 学号 20172326 《程序设计与数据结构》第三周学习总结

    学号 20172326 <程序设计与数据结构>第三周学习总结 教材学习内容总结 队列是先进先出的数据结构(FIFO)与栈不同,队列的两端可分别进行操作 first与front相同,返回首段 ...

  5. 20172310 2017-2018-2 《程序设计与数据结构》第八周学习总结

    20172310 2017-2018-2 <程序设计与数据结构>第八周学习总结 教材学习内容总结 我的总结主要是按照课本的顺序,对一些重要的知识点做出的总结和记录,方便后期的查看,当然其中 ...

  6. 20172311《程序设计与数据结构》第八周学习总结

    20172311<程序设计与数据结构>第八周学习总结 教材学习内容总结 第十二章 优先队列与堆 堆(heap)就是具有两个附加属性的一颗二叉树 1.它是一颗完全树 2.对每一个节点,它小于 ...

  7. 20172322 《程序设计与数据结构》第八周学习总结

    20172322 <程序设计与数据结构>第八周学习总结 教材学习内容总结 本章的内容主要讲堆的知识,而所谓堆就是一种具有一些特殊属性的树,就像二叉查找树一样.而堆也有两种分类,分别是 最大 ...

  8. 张季跃201771010139《面向对象程序设计(java)》第一周学习总结(改)

    张季跃201771010139<面向对象程序设计(java)>第一周学习总结 第一部分:课程准备部分 填写课程学习 平台注册账号, 平台名称 注册账号 博客园:www.cnblogs.co ...

  9. 20172324 2018-2019-1 《程序设计与数据结构》第七周学习总结

    20172324 2018-2019-1 <程序设计与数据结构>第七周学习总结 教材学习内容总结 概述 二叉查找树是一种含有附加属性的二叉树,即其左孩子小于父节点,而父节点又小于等于其右孩 ...

最新文章

  1. 微信小程序wx.request内调用setData方法
  2. HtmlTextWriter学习
  3. 聚类分析(三)Mini Batch KMeans算法
  4. GET 和 POST的区别(转载)
  5. Shanda EZ Mini
  6. C语言中错误c213是什么意思,DS1302的错误:error c213
  7. 快递扫码入库PC系统
  8. 高效准确处理scipy.misc 中imresize、imread导入错误问题
  9. 对draw.io第一次加载慢的探讨
  10. Python学习第一天
  11. 带你科学了解NAD是什么?NAD+是什么东西?
  12. Scrapy(二)翻页功能
  13. 算法学习:归并排序, pta归并排序(递归法)
  14. C++primer 第五版 练习题【3.32】 P104页 个人解答
  15. 【软件分析学习笔记】5:可达定义分析(Reaching Definitions Analysis)
  16. windows下调整linux分区大小,fdisk、parted无损调整普通分区大小 (附:win的c盘分区大小调整)...
  17. 如何在Typora中以可视化或源码的方式使用markdown
  18. c语言程序设计试题汇编第三版勘误,c语言程序设计基础教程----勘误记录.pdf
  19. 「游戏」c++ 炸弹人2.0(新增人机)
  20. 服务器被入侵当做挖矿肉鸡

热门文章

  1. 《编外知识》之“幸存者偏差”
  2. 使用JSP/Servlet技术开发新闻发布系统
  3. 基于JAVA线上动漫周边商城计算机毕业设计源码+数据库+lw文档+系统+部署
  4. css根据某个角旋转,设置旋转中心点
  5. MACD指标的数学意义解析
  6. 图片、文本、文件如何在线生成二维码?
  7. 面试智力题:如何才能证明自己不怕老婆
  8. 计算机管理器用户怎么打开文件,资源管理器怎么设置默认打开我的电脑
  9. 区块链治理框架总结,从Telos实践说起
  10. 如何将D盘空间压缩并扩展C盘