C++20(练习题)
·
/*
回文字符串
【题目描述】回文字符串的判断。回文,正读反读都都相同的字符序列成为回文。例如:abcba就是回文。写程序使用栈判断给定的字符串序列是否是回文。
【输入描述】
第一行:输入整数n代表字符串字符个数(字符个数不超过1000个)。
第二行:输入n个字符的字符串。
【输出描述】
如果字符串是回文字符串,请输出“Yes”,否则输出“No”。
【样例输入】
5
abcba
【样例输出】
Yes
*/
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,c=0;
cin>>a;
string b;
for(int i=1;i<=a;i++){
cin>>b[i];
}
for(int i=1;i<=a;i++){
if(a<7){
if(b[i]==b[a-c]&&i!=(a-1)/2){
c++;//如果有相同,c就+1
}
else {
break;
}//判断是不是回文,不是直接终止
}
if(a>7){
if(b[i]==b[a-c]&&i!=(a-1)/2+1){
c++;
}
else {
break;
}
}
}
if(c+1==(a-1)/2){
cout<<"Yes";
}//如果c的值满足回文数包含的相同个数,就是回文数
else {
cout<<"No";
}
return 0;
}
/*
【样例输入1】
5
abcba
【样例输出1】
Yes
【样例输入2】
5
abcde
【样例输出2】
No
【样例输入3】
6
jcghja
【样例输出3】
No
*/
/*
过滤多余的空格
【题目描述】一个句子中也许有多个连续空格,过滤掉多余的空格,只留下一个空格。
【输入描述】
一行,一个字符串(长度不超过 200),句子的头和尾都没有空格。
【输出描述】
过滤之后的句子。
【样例输入】Hello world.This is c language.
【样例输出】Hello world.This is c language.
*/
#include<iostream>
#include<cstring>
using namespace std;
int main() {
char s[200];
cin.getline(s,200);
for(int i = 0;i < strlen(s);i++){
if(s[i] == ' '&& s[i+1] == ' ')
continue;
cout<<s[i];
}
return 0;
}
/*
【样例输入1】
Hello world.This is c language.
【样例输出1】
Hello world.This is c language.
【样例输入2】
A B C
【样例输出2】
A B C
【样例输入3】
Word1 Word2
【样例输出3】
Word1 Word2
【样例输入4】
End with space
【样例输出4】
End with space
【样例输入5】
X
【样例输出5】
X
*/
/*
基因相关性
【题目描述】为了获知基因序列在功能和结构上的相似性,经常需要将几条不同序列的DNA进行比对,以判断该比对的DNA是否具有相关性。
现比对两条长度相同的DNA序列。定义两条DNA序列相同位置的碱基为一个碱基对,如果一个碱基对中的两个碱基相同的话,则称为相同碱基对。
接着计算相同碱基对占总碱基对数量的比例,如果该比例大于等于给定阈值时则判定该两条DNA序列是相关的,否则不相关。
【输入描述】
有三行,第一行是用来判定出两条DNA序列是否相关的阈值,随后2行是两条DNA序列(长度不大于500)。
【输出描述】
若两条DNA序列相关,则输出“yes”,否则输出“no”。
【样例输入】
0.85
ATCGCCGTAAGTAACGGTTTTAAATAGGCC
ATCGCCGGAAGTAACGGTCTTAAATAGGCC
【样例输出】
yes
*/
#include<iostream>
using namespace std;
int main() {
string n;
string m;
float a,cnt=0.0;
cin>>a;
cin>>n;
cin>>m;
for(int i=0;i<m.length();i++){
if(n[i]==m[i]){
cnt++;
}
}
cnt=cnt/m.length();
if(cnt>=a){
cout<<"yes";
}
else{
cout<<"no";
}
return 0;
}
/*
【样例输入1】
0.59
GTTCTACCTCGCGAGTAAGTTCTCGGCCTTCTGTTCCCCTTAAATGAGGCTACCTAATCTTTACAGTTCCCAACGATACCAGGTTGGTCAAATTAGCACTCATGCCTGTATTATATCTTACTGGACGAGTCCTAGCCATAGATCCCCCTCTGAAAACTTAACTCCATATCATATAGAGCGTTCGGCGATTCACCGTACATCGGCAAGGGTACGTTACTTAGGCCCCAGCCAGATGTGAACATGTATTCACGAGAG
TTATTCGCGCCCCAAATTGTTGCTCTTACTTTTACTGCGTGACCTCAGGAAACATGGACCATCTACAAGGATAGCTCTCCTCCTGCTCAAGGACTAACTAGAGCCGGGCCAGTCTTGGTGCAAAGTTGCCAGCACCCGCTTGCAAATTCAGAGCGTACTTTATTTGACTCGCTTGAACCGGTTAAACTTGCGGTTTTAATTGCAAGTACTAAACAGACTAAAGCGGACGACAACCCTCTAGGGCATAGCCGGAAG
【样例输出1】
no
【样例输入2】
0.18
GAATCTACCCCATCCACCGATTCCATTCTCAAGTATTGGCGCCAACAATGGTAATTCGTGATCCCAACACAGCGGCTCCTTCCATGCGGCTGGGATGAAGAGATGTCAGTTGTAACGCTGCGGCAGGCGGCATAGCCGTCCAAGTCTCATAATTAGTTTGGGGATCTCAACTCCCGCCAATGAGATACAGCTAGGGACTATTAGCCGAGTCACCTACCTCACACCTCTCTATTATTGGCATAGTCAACCTGGTAT
TCGACTCAAGCTGTCGTTAATAGGTTTTTTACTTCCATCCATTCCGGCGATGGTCTTGCTCCTGGGCATCGCGGCTGATGATCCTAGGTCACCAGCGTAGCTCTATTGATTTTTACGTCGGCCAAAATATTCACCCACTTAATGCGCAGGGAGCCTGGGTCTCTACTCATTCCTCGAACCCAACACGGATGAGGGGGCTGTGGTAAACAAACGTGTATTGCATCAATACATTCTACGCTAGTTTGAATCCGCTAC
【样例输出2】
yes
【样例输入3】
0.18
TCCTCATGTCATTTTAAAGACTAATTTAGAAGTGATTAGACTAGGGTTTGTTATTTGTCCGACATTAGAGATCTCAGTGGAGCTCCATCTGTCAAAGTTCCAAGGGATATTTTTGATTTGCACTAAGATCGCGGACATTGGGAGTAGTCTCGGGAGGCTGCGTGTATTCCCAGTATCATACCGCAGTCATATTTATACTTCGCCGGCGAATCCCCCCGCTGGAAAAATAATAAAGCAAGGCGGTCCCGAAAGCGG
GACATTCCCGTTTAAGGCTGAGATCAGGAAGGATCCCGCAAGTTTCTTGTTGGCCGTTACCTCACTAGGGCTATTTACTGAACGTGGTTGTCCCAGCGGCCGCTGCTTCACAATTTTCGATGACTCCGAGTTTGACCTCCGAGCCAATTACTCCCAGTGCGAGACCTACAGACGAAGGCCTTTGACTGCGTTCCCGGATTGTTGTCTCTGGCCCCTCATATCGGCAAGCAAGATGGAACCGCGCTGTGGGAGCAT
【样例输出3】
yes
【样例输入4】
0.06
CTATTATCGACGTCGAGGGGCTCGGAGAGCAGACCCGCTGGGCGTGTGCCCCGAGATAATCATTCTCAAGCTGACAGGTATATAAAAGGTAATGAAGTGGTCCTGTCTCTTTATCCTTCTGCTGAACCCGTCTTGTTACCCTTGCTTCGGCCCCTCTCTTAAGAGTTTACCAGTCATACTGTAACACTCTGAAATTGAACCGCTCAGATGAAGTATAAAGACAACGATGGGCCGACTCTTCATACGTCATTCAAA
GACCAGCGCTTGGGTAGGATACCAAGACCACTCCCGCTACACACTTTTCGTGGTCTAAGTTTTGGCATACGCGTCACCGACACACGGATCATCTTAGGACTACTACGACTAAACTTTGTTAACGTGGTTCTATATTGGGATATCAGCCGGATAGATTATCTTGTGCGGCCGTCAGTAGTGAGGCATGTTCGCACCGCCGGTAAGAATCTCACATGAACTCGCATGGAGGCGGCGGACCCTCGAGAGGTCAAGACG
【样例输出4】
yes
【样例输入5】
0.2
GACAGCAAAGTCCCCCCCCCATAAAGCAAAGCATTTGGGTACTACCACGCCGGCATAAGCTAGTACCACCGACTTTCATCGGGATAACTCCATCATTCAAGAGAGGCACCAGTAATGATACTAGGTGACGCGACCGATCTCCAGAGGCGTAACAACGTAAATTTCCATTCTCGAGCGTAACAAGTGTGCATAGGCGGTTCTGTTTAGAGGTGGAGGAGGGCGCTGGGTGGCAGGAACGGGCCCTACACTGCCTCA
GACACCCTCCGGACTCGGCGACGGTGAGCTATCAAGCATACAGTGTCATCTGGTGGACCCCTTAGTGCGTATTTGGTGATAAACAGGCATTTGTCCTGAAGGGCTCAGTGACTTCAATTGCGGCACTTCAGCTAAGCCAGACGCTAGTCTTCCTTATCTGAAACATAATGGTAGACCGACCTTCTGCTCAGGCTCAAGGTGCACCGCACCCTGGCGCTAAACTCTTCGGATGATATTATAGGACGGATAGCCCTG
【样例输出5】
yes
*/
/*
石头剪子布
【题目描述】石头剪子布,是一种猜拳游戏。起源于中国,然后传到日本、朝鲜等地,随着亚欧贸易的不断发展它传到了欧洲,到了近现代逐渐风靡世界。
简单明了的规则,使得石头剪子布没有任何规则漏洞可钻,单次玩法比拼运气,多回合玩法比拼心理博弈,使得石头剪子布这个古老的游戏同时用于“意外”与“技术”两种特性,深受世界人民喜爱。
游戏规则:石头打剪刀,布包石头,剪刀剪布。
现在,需要你写一个程序来判断石头剪子布游戏的结果。
【输入描述】
第一行是一个整数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>
using namespace std;
int main() {
string a,b;
int c;
cin>>c;
for(int i=0;i<c;i++){
cin>>a>>b;
if(a=="Rock"&&b=="Scissors" || a=="Scissors"&&b=="Paper" || a=="Paper"&&b=="Rock"){
cout<<"Player1"<<endl;
}
else if(b=="Rock"&&a=="Scissors" || b=="Scissors"&&a=="Paper" || b=="Paper"&&a=="Rock"){
cout<<"Player2"<<endl;
}
else{
cout<<"Tie"<<endl;
}
}
return 0;
}
/*
本题测试数据较大,暂不放置在成品案例中,有需要请找运营老师获取。
*/
更多推荐

所有评论(0)