1. 这道题的答案是
A.A B.B C.C D.D
2. 第 5 题的答案是
A.C B.D C.A D.B
3. 以下选项中哪一题的答案与其他三项不同
A. 第 3 题 B. 第 6 题 C. 第 2 题 D. 第 4 题
4. 以下选项中哪两题的答案相同
A. 第 1,5 题 B. 第 2,7 题 C. 第 1,9 题 D. 第 6,10 题
5. 以下选项中哪一题的答案与本题相同
A. 第 8 题 B. 第 4 题 C. 第 9 题 D. 第 7 题
6. 以下选项中哪两题的答案与第 8 题相同
A. 第 2,4 题 B. 第 1,6 题 C. 第 3,10 题 D. 第 5,9 题
7. 在此十道题中,被选择次数最少的选项字母为
A.C B.B C.A D.D
8. 以下选项中哪一题的答案与第 1 题的答案在字母表中不相邻
A. 第 7 题 B. 第 5 题 C. 第 2 题 D. 第 10 题
9. 已知 “第 1 题与第 6 题的答案相同” 与 “第 X 题与第 5 题的答案相同” 的真假性相反,那么 X 为
A. 第 6 题 B. 第 10 题 C. 第 2 题 D. 第 9 题
10. 在此十道题中,ABCD 四个字母中出现的次数最多者与最少者的差为
A.3 B.2 C.4 D.1
接下来看代码:
#include <stdio.h>
#include <math.h>
/*
*
* 1.这道题的答案是
* A.A B.B C.C D.D
* 2.第5题的答案是
* A.C B.D C.A D.B
* 3.以下选项中哪一题的答案与其他三项不同
* A.第3题 B.第6题 C.第2题 D.第4题
* 4.以下选项中哪两题的答案相同
* A.第1,5题 B.第2,7题 C.第1,9题 D.第6,10题
* 5.以下选项中哪一题的答案与本题相同
* A.第8题 B.第4题 C.第9题 D.第7题
* 6.以下选项中哪两题的答案与第8题相同
* A.第2,4题 B.第1,6题 C.第3,10题 D.第5,9题
* 7.在此十道题中,被选择次数最少的选项字母为
* A.C B.B C.A D.D
* 8.以下选项中哪一题的答案与第1题的答案在字母表中不相邻
* A.第7题 B.第5题 C.第2题 D.第10题
* 9.已知“第1题与第6题的答案相同”与“第X题与第5题的答案相同”的真假性相反,那么X为
* A.第6题 B.第10题 C.第2题 D.第9题
* 10.在此十道题中,ABCD四个字母中出现的次数最多者与最少者的差为
* A.3 B.2 C.4 D.1
*
* */
int MinTimes(int a[],int n)
{
int i,abcd[4]={0};
for(i=0;i<n;i++) abcd[a[1+i]]++;
int min=abcd[0],j=0;
for(i=0;i<4;i++)
{
if(min>abcd[i]) {min=abcd[i]; j=i;}
}
return j;
}
int main(int argc, char* argv[])
{
int i;
int a[11];
for(a[1]=0;a[1]<4;a[1]++)
for(a[2]=0;a[2]<4;a[2]++)
for(a[3]=0;a[3]<4;a[3]++)
for(a[4]=0;a[4]<4;a[4]++)
for(a[5]=0;a[5]<4;a[5]++)
for(a[6]=0;a[6]<4;a[6]++)
for(a[7]=0;a[7]<4;a[7]++)
for(a[8]=0;a[8]<4;a[8]++)
for(a[9]=0;a[9]<4;a[9]++)
for(a[10]=0;a[10]<4;a[10]++)
{
// 2.第5题的答案是 A.C B.D C.A D.B
if(a[2]==0 && a[5]==2 ) {;}
else if (a[2]==1 && a[5]==3){;}
else if (a[2]==2 && a[5]==0){;}
else if (a[2]==3 && a[5]==1){;}
else continue;//下一个候选者
//3.以下选项中哪一题的答案与其他三项不同 A.第3题 B.第6题 C.第2题 D.第4题
if(a[3]==0 && a[3]!=a[6] && a[6]==a[2] && a[2]==a[4]) {;}
else if(a[3]==1 && a[6]!=a[3] && a[3]==a[2] && a[2]==a[4]) {;}
else if(a[3]==2 && a[2]!=a[6] && a[6]==a[3] && a[3]==a[4]) {;}
else if(a[3]==3 && a[4]!=a[6] && a[6]==a[2] && a[2]==a[3] ){;}
else continue;
//4.以下选项中哪两题的答案相同 A.第1,5题 B.第2,7题 C.第1,9题 D.第6,10题
if(a[4]==0 && a[1]==a[5]) {;}
else if(a[4]==1 && a[2]==a[7]) {;}
else if(a[4]==2 && a[1]==a[9]) {;}
else if(a[4]==3 && a[6]==a[10]) {;}
else continue;
//5.以下选项中哪一题的答案与本题相同 A.第8题 B.第4题 C.第9题 D.第7题
if(a[5]==0 && a[8]==a[5]) {;}
else if(a[5]==1 && a[4]==a[5]) {;}
else if(a[5]==2 && a[9]==a[5]) {;}
else if(a[5]==3 && a[7]==a[5]) {;}
else continue;
//6.以下选项中哪两题的答案与第8题相同A.第2,4题 B.第1,6题 C.第3,10题 D.第5,9题
if(a[6]==0 && a[8]==a[2] && a[8]==a[4] ) {;}
else if(a[6]==1 && a[8]==a[1] && a[8]==a[6]) {;}
else if(a[6]==2 && a[8]==a[3] && a[8]==a[10]) {;}
else if(a[6]==3 && a[8]==a[5] && a[8]==a[9]) {;}
else continue;
//8.以下选项中哪一题的答案与第1题的答案在字母表中不相邻 A.第7题 B.第5题 C.第2题 D.第10题
if(a[8]==0 && (abs(a[7]-a[1])!=1) && (abs(a[5]-a[1])==1) && (abs(a[2]-a[1])==1) && (abs(a[10]-a[1])==1) ) {;}
else if(a[8]==1 && (abs(a[5]-a[1])!=1) && (abs(a[7]-a[1])==1) && (abs(a[2]-a[1])==1) && (abs(a[10]-a[1])==1) ) {;}
else if(a[8]==2 && (abs(a[2]-a[1])!=1) && (abs(a[7]-a[1])==1) && (abs(a[5]-a[1])==1) && (abs(a[10]-a[1])==1) ) {;}
else if(a[8]==3 && (abs(a[10]-a[1])!=1) && (abs(a[7]-a[1])==1) && (abs(a[5]-a[1])==1) && (abs(a[2]-a[1])==1) ) {;}
else continue;
//9.已知“第1题与第6题的答案相同”与“第X题与第5题的答案相同”的真假性相反,那么X为A.第6题 B.第10题 C.第2题 D.第9题
if(a[9]==0 && ((a[1]==a[6]) ^ (a[6]==a[5] ) ) ) {;}
else if(a[9]==1 && ((a[1]==a[6]) ^ (a[10]==a[5] ) ) ) {;}
else if(a[9]==2 && ((a[1]==a[6]) ^ (a[2]==a[5] ) ) ) {;}
else if(a[9]==3 && ((a[1]==a[6]) ^ (a[9]==a[5] ) ) ) {;}
else continue;
//7.在此十道题中,被选择次数最少的选项字母为
if(a[7]==0 && MinTimes(a,10)==2){;}
else if(a[7]==1 && MinTimes(a,10)==1){;}
else if(a[7]==2 && MinTimes(a,10)==0){;}
else if(a[7]==3 && MinTimes(a,10)==3){;}
else continue;
//10.不处理
printf("本试题的答案为:");
for(i=1;i<=10;i++) printf(" %c",a[i]+'a');
}
printf("\n");
return 0;
}
看输出结果:
本试题的答案为: b c a c a c d a b a