血型遗传
血型遗传对照表如下:
父母血型 |
子女会出现的血型 |
子女不会出现的血型 |
O与O |
O |
A,B,AB |
A与O |
A,O |
B,AB |
A与A |
A,O |
B,AB |
A与B |
A,B,AB,O |
—— |
A与AB |
A,B,AB |
O |
B与O |
B,O |
A,AB |
B与B |
B,O |
A,AB |
B与AB |
A,B,AB |
O |
AB与O |
A,B |
O,AB |
AB与AB |
A,B,AB |
O |
请实现一个程序,输入父母血型,判断孩子可能的血型。给定两个字符串father和mother,代表父母的血型,请返回一个字符串数组,代表孩子的可能血型(按照字典序排列)。
测试样例:”A”,”A”
返回:[”A”,“O”]
方法:暴力法
解析:根据题意,利用 if-else语句进行判断输出即可得到所要求得的孩子可能性血型。
代码一:
#include<iOStream>
#include<string>
using namespace std;
int main()
{
string f,m;
cin>>f>>m;
if(f=="O"&&m=="O")
cout<<"O"<<endl;
else if((f=="A"&&m=="A")||(f=="A"&&m=="O")||(f=="O"&&m=="A"))
cout<<"A,O"<<endl;
else if((f=="A"&&m=="B")||(f=="B"&&m=="A"))
cout<<"A,AB,B,O"<<endl;
else if((f=="A"&&m=="AB")||(f=="AB"&&m=="A")||(f=="AB"&&m=="B")||(f=="B"&&m=="AB")||(f=="AB"&&m=="AB"))
cout<<"A,B,AB"<<endl;
else if((f=="B"&&m=="B")||(f=="B"&&m=="O")||(f=="O"&&m=="B"))
cout<<"B,O"<<endl;
else
cout<<"A,B"<<endl;
return 0;
}
代码二:
#include<iostream>
#include<string>
#include<vector>
using namespace std;
vector<string> chkBlood(string father, string mother)
{
vector<string> vec;
if(father=="O"&&mother=="O")
vec.push_back("O");
else if((father=="A"&&mother=="A")||(father=="A"&&mother=="O")||(father=="O"&&mother=="A"))
{
vec.push_back("A");
vec.push_back("O");
}
else if((father=="A"&&mother=="B")||(father=="B"&&mother=="A"))
{
vec.push_back("A");
vec.push_back("AB");
vec.push_back("B");
vec.push_back("O");
}
else if((father=="A"&&mother=="AB")||(father=="AB"&&mother=="A")||(father=="AB"&&mother=="B")||(father=="B"&&mother=="AB")||(father=="AB"&&mother=="AB"))
{
vec.push_back("A");
vec.push_back("AB");
vec.push_back("B");
}
else if((father=="B"&&mother=="B")||(father=="B"&&mother=="O")||(father=="O"&&mother=="B"))
{
vec.push_back("B");
vec.push_back("O");
}
else
{
vec.push_back("A");
vec.push_back("B");
}
return vec;
}
int main()
{
string f,m;
vector<string> vec;
cin>>f>>m;
vec=chkBlood(f,m);
for(int i=0;i<vec.size();i++)
cout<<vec[i]<<" ";
cout<<endl;
return 0;
}
相关阅读
对于监督学习算法而言,数据决定了任务的上限,而算法只是在不断逼近这个上限。世界上最遥远的距离就是我们用同一个模型,但是却有不同
Axis-aligned bounding boxes(AABB包围盒)原文地址 在游戏中,为了简化物体之间的碰撞检测运算,通常会对物体创建一个规则的几何外形将
这里所说的缩放不是指浏览器大小的缩放,而是指浏览器网页内容的百分比缩放(按Ctrl和+号键或者-号键的缩放)。检测这种缩放有很种方法
空间金字塔池化 空间金字塔池化层简介: 在对图片进行卷积操作的时候,卷积核的大小是不会发生变化的额,反向调节的权
本文来自 CSDN 网站,作