人工智能 识别动物--穿孔法


#include
int main(){void print(int a[],int k);
puts("    \n动物特征库:\n\
  1.有毛发     2.有奶      3.有羽毛     4.会飞      5.吃肉\n\
  6.有犬齿     7.哺乳动物  8.有蹄       9.鸟       10.会下蛋\n\
  11.有爪      12.眼盯前方 13.反刍动物 14.黄褐色   15.有暗斑点\n\
  16.有黑色条纹17.有长脖子 18.有长腿   19.不会飞   20.有黑白两色\n\
  21.会游泳  ");
puts(       "请输入该动物的特征:");
/*1虎2金钱豹3斑马4长颈鹿5企鹅6鸵鸟7信天翁8哺乳动物9鸟A食肉动物B有蹄类动物 */
char c[21][12] ={
/*1.有毛发     */"11110001011",
/*2.有奶       */"11110001011",
/*3.有羽毛     */"00001110100",
/*4.会飞       */"00000010100",
/*5.吃肉       */"11001011110",
/*6.有犬齿     */"11000001010",
/*7.哺乳动物   */"11110001011",
/*8.有蹄       */"00110000001",
/*9.鸟         */"00001110100",
/*10.会下蛋    */"00001110100",
/*11.有爪      */"11000001010",
/*12.眼盯前方  */"11000001010",
/*13.反刍动物  */"00110001001",
/*14.黄褐色    */"11010001011",
/*15.有暗斑点  */"01010001011",
/*1虎2金钱豹3斑马4长颈鹿5企鹅6鸵鸟7信天翁8哺乳动物9鸟A食肉动物B有蹄类动物 */
/*16.有黑色条纹*/"10100001011",
/*17.有长脖子  */"00010001001",
/*18.有长腿    */"00010101101",
/*19.不会飞    */"00000011111",
/*20.有黑白两色*/"00101101101",
/*21.会游泳    */"00001000100"}; 
int a[33],b=0,e=0,f=0,h=0,k=22;char d[100];
gets(d);
for(b=0;;){if(d[b]==0){break;}
else if(d[b]!=32&&(d[b+1]==32||d[b+1]==0)){a[e]=d[b]-48;b++;e++;continue;}
else if(d[b]!=32&&d[b+1]!=32){a[e]=(d[b]-48)*10+d[b+1]-48;b+=2;e++;continue;}
else if(d[b]==32)b++;
}for(b=1,a[21]=0;b<=11;b++,h=0){
for(f=0;f h+=c[a[f]-1][b-1]-48;
}

if(h==e){
switch(b){
case 1:a[k]=b;k++;break;
case 2:a[k]=b;k++;break;
case 3:a[k]=b;k++;break;
case 4:a[k]=b;k++;break;
case 5:a[k]=b;k++;break;
case 6:a[k]=b;k++;break;
case 7:a[k]=b;k++;break;
case 8:a[k]=b;k++;break;
case 9:a[k]=b;k++;break;
case 10:a[k]=b;k++;break;
case 11:a[k]=b;k++;break;}}
else {a[21]++;
}}
if(a[21]==11)printf("无符合");

else {print(a,k);

return 0;}
void print(int a[],int k){
    int b=0;
    
if(a[22]<8&&a[23]<8){
for(;k>22;k--){switch(a[k-1]){
case 1:printf("虎 ");break;
case 2:printf("金钱豹 ");break;
case 3:printf("斑马 ");break;
case 4:printf("长颈鹿 ");break;
case 5:printf("企鹅 ");break;
case 6:printf("鸵鸟 ");break;
case 7:printf("信天翁 ");break;
case 8:printf("哺乳动物 ");break;
case 9:printf("鸟 ");break;
case 10:printf("食肉动物 ");break;
case 11:printf("有蹄类动物 ");break;}
if(a[k-2]<8&&b==0){printf("可能是:");b=1;}}}
else if(a[22]<8&&a[23]>=8)switch(a[22]){
case 1:printf("虎 ");break;
case 2:printf("金钱豹 ");break;
case 3:printf("斑马 ");break;
case 4:printf("长颈鹿 ");break;
case 5:printf("企鹅 ");break;
case 6:printf("鸵鸟 ");break;
case 7:printf("信天翁 ");break;
}}

你可能感兴趣的:(人工智能)