题目来源:
517编程3段 - 1280. 字符数组-基因相关性 - 517编程 (517coding.com)
题目内容:
为了获知基因序列在功能和结构上的相似性,经常需要将几条不同序列的 DNADNA 进行比对,以判断该比对的 DNADNA 是否具有相关性。
现比对两条长度相同的 DNA 序列。首先定义两条 DNA 序列相同位置的碱基为一个碱基对,如果一个碱基对中的两个碱基相同的话,则称为相同碱基对。接着计算相同碱基对占总碱基对数量的比例,如果该比例大于等于给定阈值时则判定该两条 DNA 序列是相关的,否则不相关。
输入
有三行。第一行为一个 [0,1][0,1] 范围内实数,表示用来判定出两条 DNA 序列是否相关的阈值,随后 22 行是两条 DNA 序列(长度不大于 500)。
输出
若两条 DNADNA 序列相关,则输出 yes
,否则输出 no
。
题解:
#include <bits/stdc++.h>
using namespace std;
char s1[600], s2[600];//定义字符串
int main() {
double n;
scanf("%lf", &n);//读入标准
scanf("%s\n", s1);//读入s1
scanf("%s", s2);//读入s2
int len = strlen(s1);//获取s1第长度
int cnt = 0;
for (int i = 0; i < len; i++)//枚举字符串里的所有元素
{
if (s1[i] == s2[i])
{
++cnt;//如果相等cnt就增加1
}
}
if ((cnt*1.0) / len >= n)
{
printf("yes"); //如果达到标准就输出yes
return 0;//输出之后结束程序
}
printf("no");//如果程序没有结束 就没有达到标准 输出no
return 0;
}