数学模型中包括多个变量的例子:称硬币

来源:互联网 发布:怎样建淘宝团购微信群 编辑:程序博客网 时间:2024/05/16 18:38
//数学模型中包括多个变量的例子:称硬币#include<stdio.h>#include<string.h>char left[3][7],right[3][7],result[3][7];bool isHeavy(char);bool isLight(char);int main(){int n;char c;scanf("%d",&n);while(n>0){for(int i=0;i<3;i++)scanf("%s%s%s",left[i],right[i],result[i]);for(c='A';c<='L';c++){if(isLight(c)){printf("%c is the counterfeit coin and it is light.\n",c);break;}if(isHeavy(c)){printf("%c is the counterfeit coin and it is heavy.\n",c);break;}}n--;}return 0;}bool isLight(char x){int i;for(i=0;i<3;i++){switch(result[i][0]){case 'u':if(strchr(right[i],x)==NULL) return false;break;case 'e':if(strchr(right[i],x)!=NULL||strchr(left[i],x)!=NULL) return false;break;case 'd':if(strchr(left[i],x)==NULL) return false;break;}}return true;}bool isHeavy(char c){int i;for(i=0;i<3;i++){switch(result[i][0]){case 'u':if(strchr(left[i],c)==NULL) return false;break;case 'e':if(strchr(left[i],c)!=NULL||strchr(right[i],c)!=NULL) return false;break;case 'd':if(strchr(right[i],c)==NULL) return false;break;}}return true;}

0 0