推荐答案
匿名用户
2018.06.12
采纳率: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 推荐为最佳回答。