c语言程序设计血型与遗传报告,血型遗传关系C语言编程

推荐答案

f8bc1ff386050125583664c2cd5cc8df.png

匿名用户

2018.06.12

f8bc1ff386050125583664c2cd5cc8df.png

采纳率:83%    等级:50

已帮助:83万人

血型遗传关系C语言编程#include#includeint main(void){int n; char s1[3],s2[3],s3[3],s[5]; while(1) {printf("请选择需要的操作(输入1-5):\n");   printf("1.输入父或母的血型求子女可能血型\n");  printf("2.输入子女的血型求父母可能血型\n");  printf("3.同时输入父母亲血型求子女可能血型\n");  printf("4.同时输入父母和子女血型判断是否有血缘关系\n");  printf("5.退出\n");  scanf("%d%*c",&n);     switch(n)  {case 1:case 2:       if(n==1)printf("输入父或母的血型:");         else printf("输入子女的血型");      scanf("%s%*c",s1);       if(n==1)printf("子女可能的血型:");         else printf("父母可能的血型:");       if(strlen(s1)==1)         if(s1[0]=='O')printf("A B O\n");           else printf("A B AB O\n");         else printf("A B AB\n");        break;   case 3:      printf("输入父母亲血型(用空格分隔):");     scanf("%s%s%*c",s1,s2);     printf("子女可能的血型:");     if(strcmp(s1,s2)<0){strcpy(s,s1);strcat(s,s2);}       else{strcpy(s,s2);strcat(s,s1);}     if(strlen(s)==2)      //1,2,4,6,7,9       if(s[0]==s[1])         if(s[0]=='O')printf("O\n");   //9           else printf("%c O\n",s[0]);  //1,4,6,7,         else printf("A B AB O\n");        //2       else if(strlen(s)==3)         if(s[2]=='O')printf("A B\n");    //10           else printf("A B AB\n");       //3,5         else printf("A B AB\n");     break;   case 4:            printf("输入父母和子女血型(用空格分隔)\n");      scanf("%s%s%s%*c",s1,s2,s3);     if(strcmp(s3,"AB")==0&&(s1[0]=='O'||s2[0]=='O'))       printf("不");     if(s3[0]=='O'&&(strcmp(s1,"AB")==0||strcmp(s2,"AB")==0))        printf("不");     printf("可能的血缘关系\n");     break;   case 5:     return 0;                      } }}追答:#include

#include

int main(void)

{int n;

char s1[3],s2[3],s3[3],s[5];

while(1)

{printf("请选择需要的操作(输入1-5):\n");

printf("1.输入父或母的血型求子女可能血型\n");

printf("2.输入子女的血型求父母可能血型\n");

printf("3.同时输入父母亲血型求子女可能血型\n");

printf("4.同时输入父母和子女血型判断是否有血缘关系\n");

printf("5.退出\n");

scanf("%d%*c",&n);

switch(n)

{case 1:case 2:

if(n==1)printf("输入父或母的血型:");

else printf("输入子女的血型");

scanf("%s%*c",s1);

if(n==1)printf("子女可能的血型:");

else printf("父母可能的血型:");

if(strlen(s1)==1)

if(s1[0]=='O')printf("A B O\n");

else printf("A B AB O\n");

else printf("A B AB\n");

break;

case 3:

printf("输入父母亲血型(用空格分隔):");

scanf("%s%s%*c",s1,s2);

printf("子女可能的血型:");

if(strcmp(s1,s2)<0){strcpy(s,s1);strcat(s,s2);}

else{strcpy(s,s2);strcat(s,s1);}

if(strlen(s)==2) //1,2,4,6,7,9

if(s[0]==s[1])

if(s[0]=='O')printf("O\n"); //9

else printf("%c O\n",s[0]); //1,4,6,7,

else printf("A B AB O\n"); //2

else if(strlen(s)==3)

if(s[2]=='O')printf("A B\n"); //10

else printf("A B AB\n"); //3,5

else printf("A B AB\n");

break;

case 4:

printf("输入父母和子女血型(用空格分隔)\n");

scanf("%s%s%s%*c",s1,s2,s3);

if(strcmp(s3,"AB")==0&&(s1[0]=='O'||s2[0]=='O'))

printf("不");

if(s3[0]=='O'&&(strcmp(s1,"AB")==0||strcmp(s2,"AB")==0))

printf("不");

printf("可能的血缘关系\n");

break;

case 5:

return 0;

}

}

}

00分享举报

此回答由管理员  明明789   推荐为最佳回答。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值