慕课-程序设计与算法(大学先修课)-郭炜-第七周练习题
来源:互联网 发布:exe软件重新编译 编辑:程序博客网 时间:2024/06/06 04:01
1.输入一行字符,统计出其中数字字符的个数。
#include <iostream>using namespace std;int main() { char ch; int count = 0; while( ch = getchar(), ch != '\n') //若读入的字符不是回车 { if(isdigit(ch)) //若是数字 count++; } printf("%d\n", count); }
2.给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。
#include <iostream>using namespace std;char a[26];int s[26];int main() { int q=0,temp; char ch; while(ch=getchar(),ch!='\n') { int i=0; bool judge=0; temp=(int)ch; s[temp-97]++; for(i;i<26;++i) { if(a[i]==ch) { judge=1; break; } } if(judge==0) { a[q]=ch; q++; } } char w='0'; bool j=0; for(int i=0;i<26;++i) { if(a[i]!=w&&s[(int)a[i]-97]==1) { cout<<a[i]; j=1; break; } } if(j==0) cout<<"no";}
3.石头剪子布,是一种猜拳游戏。起源于中国,然后传到日本、朝鲜等地,随着亚欧贸易的不断发展它传到了欧洲,到了近现代逐渐风靡世界。简单明了的规则,使得石头剪子布没有任何规则漏洞可钻,单次玩法比拼运气,多回合玩法比拼心理博弈,使得石头剪子布这个古老的游戏同时用于“意外”与“技术”两种特性,深受世界人民喜爱。
游戏规则:石头打剪刀,布包石头,剪刀剪布。
现在,需要你写一个程序来判断石头剪子布游戏的结果。
#include <iostream>#include <string>using namespace std;int Num(string);int main() { int n; int a,b; cin>>n; string player; for(int i=0;i<n;++i) { cin>>player; a=Num(player); cin>>player; b=Num(player); a=a-b; if((a==-1)|(a==2)) { cout<<"Player1"<<endl; } else if((a==1)|(a==-2)) { cout<<"Player2"<<endl; } else { cout<<"Tie"<<endl; } }}int Num(string s){ if(s=="Rock") { return 0; } else if(s=="Scissors") { return 1; } else if(s=="Paper") { return 2; }}
4.输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。
试输出第1个最长的单词和第1个最短单词。
#include <iostream>#include <string>using namespace std;string str[200];int main() { string maxs,mins,s=""; int i=0; bool judge=0; char ch; while((ch = getchar())!='\n') { if(judge == 1 && (ch == ' ' || ch == ',')) continue; if(ch != ' ' && ch != ',') { s += ch; str[i]=s; judge=0; } else { s=""; judge=1; if(str[0]!=s) i++; } } maxs=str[0]; mins=str[0]; for(int i=0;i<200;i++) { if(str[i].size() > maxs.size()){ maxs = str[i]; } if(!str[i].empty() && str[i].size() < mins.size()){ mins = str[i]; } } cout<<maxs<<endl<<mins;}
5.在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易的识别。我们给出一种最简的的加密方法,对给定的一个字符串,把其中从a-y,A-Y的字母用其后继字母替代,把z和Z用a和A替代,其他非字母字符不变,则可得到一个简单的加密字符串。
#include <iostream>#include <string>using namespace std;int main() { char s[90]; gets(s); for(int i=0;s[i];i++) { if(isalpha(s[i])) { if(s[i]=='z') { s[i]='a'; } else if(s[i]=='Z') { s[i]='A'; } else s[i]=(char)((int)s[i]+1); } } cout<<s;}
0 0
- 慕课-程序设计与算法(大学先修课)-郭炜-第七周练习题
- 慕课-程序设计与算法(大学先修课)-郭炜-第二周练习题
- 慕课-程序设计与算法(大学先修课)-郭炜-第三周练习题
- 慕课-程序设计与算法(大学先修课)-郭炜-第五周练习题
- 慕课-程序设计与算法(大学先修课)-郭炜-第六周练习题
- 慕课-程序设计与算法(大学先修课)-郭炜-第一周练习题
- 慕课-程序设计与算法(大学先修课)-郭炜-第四周练习题
- 慕课-程序设计与算法(大学先修课)-郭炜-第八九周练习题
- 程序设计与算法 第七周测验
- 中南大学第七届大学生程序设计竞赛
- 浙江中医药大学-数据结构与算法期末考试应用题、程序设计题
- 第七周程序设计
- 《数据结构算法与应用-C++语言描述》练习题 第一章 C++程序设计
- 算法设计与应用基础:第七周
- 算法设计与应用基础-第七周
- 算法分析与设计第七周
- 2017大学第七~九周学习笔记
- 程序设计与算法 第二周测验
- activemq安装部署发送接收消息
- hdu 5791 Two dp
- 3 Slot PCI Expansion
- Spring基于xml的构造方法注入&setter注入
- Libevent源码分析-----TAILQ_QUEUE队列
- 慕课-程序设计与算法(大学先修课)-郭炜-第七周练习题
- java中取得文件夹中所有文件的名字
- 编程小结(1)
- Win7 PC无法识别android手机 / adb interface有黄色感叹号
- php获取路径:getcwd()、__DIR__、__FILE__ 的区别
- HTML表单
- P1208 混合牛奶
- Java中Filter、Servlet、Listener的学习
- C++堆、栈、自由存储区、全局、静态存储区和常量存储区详解