血型遗传关系c语言编程
Ø 根据血型遗传关系,编程实现:1.输入父亲或母亲一个人的血型时,输出子女可能的血型,2.输入子女的血型时,输出其父母可能的血型,3.同时输入父亲和母亲的血型时,输出子女可能的血型, 4.同时输入父母和子女血型时能判断是否具有血型血缘关系。
题目难度:易
程序设计要求:
1.程序运行时有友好的操作提示界面;
2.可进行多人次输入,将血型关系总表输入文件保持,在主菜单中能选择查看血型关系总表;
3.有输入错误检查,并限制出错次数,如:应输入字母时输入其它内容,能提示错误并要求重新输入;
4.程序中有详细的注释说明;
血型遗传关系c语言编程
#include<stdio.h>#include<string.h>int main(void){int n; char s1[3],s2[3],s3[3],s[5]; while(1) {printf("请选择需要的操作(输入1-5): "); printf("1.输入父或母的血型求子女可能血型 "); printf("2.输入子女的血型求父母可能血型 "); printf("3.同时输入父母亲血型求子女可能血型 "); printf("4.同时输入父母和子女血型判断是否有血缘关系 "); printf("5.退出 "); 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 "); else printf("A B AB O "); else printf("A B AB "); 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 "); //9 else printf("%c O ",s[0]); //1,4,6,7, else printf("A B AB O "); //2 else if(strlen(s)==3) if(s[2]=='O')printf("A B "); //10 else printf("A B AB "); //3,5 else printf("A B AB "); break; case 4: printf("输入父母和子女血型(用空格分隔) "); 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("可能的血缘关系 "); break; case 5: return 0; } }}热门标签: