奇怪的问题
请回答下面10个问题,各题都恰有一个答案是正确的:
(1)第一个答案是B的问题是哪一个?
A、2
B、3
C、4
D、5
E、6
(2)恰好有两个连续问题的答案是一样的,它们是:
A、2,3
B、3,4
C、4,5
D、5,6
E、6,7
(3)本问题答案和哪一个问题的答案相同?
A、1
B、2
C、4
D、7
E、6
(4)答案是A的问题的个数是:
A、0
B、1
C、2
D、3
E、4
(5)本问题答案和哪一个问题的答案相同?
A、10
B、9
C、8
D、7
E、6
(6)答案是A的问题的个数和答案是什么的问题的个数相同?
A、B
B、C
C、D
D、E
E、以上都不是
(7)按照字母顺序,本问题的答案和下一个问题的答案相差几个字母?
A、4
B、3
C、2
D、1
E、0(注:A和B相差一个字母)
(8)答案是元音字母的问题的个数是:
A、2
B、3
C、4
D、5
E、6(注:A和E是元音字母)
(9)答案是辅音字母的问题的个数是:
A、一个质数
B、一个阶乘数
C、一个平方数
D、一个立方数
E、5的倍数
(10)本问题的答案是:
A、A
B、B
C、C
D、D
E、E
Solution as follow
//
good.cpp : 定义控制台应用程序的入口点。
//
#include " stdafx.h "
#include " math.h "
#include " stdio.h "
// 题1 返回:0 正确 -1 1~5 错误
int NO1( int * Answer)
... {
int i=1;
while(i<=10)
...{
if(Answer[i]==2)
...{
switch(Answer[1])
...{
case 1:
if(i==2)
return 0;
else
return 1;
case 2:
if(i==3)
return 0;
else
return 2;
case 3:
if(i==4)
return 0;
else
return 3;
case 4:
if(i==5)
return 0;
else
return 4;
case 5:
if(i==6)
return 0;
else
return 5;
default:
return -1;
}
}
i++;
}
return -1;
}
// 题2 返回:0 正确 -1 1~5 错误
int NO2( int * Answer)
... {
int i=1,n=0;
while(i<10)
...{
if(Answer[i]==Answer[i+1]) n++;
i++;
}
if(n==1)
...{
switch(Answer[2])
...{
case 1:
if(Answer[2]==Answer[3])
return 0;
else
return 1;
case 2:
if(Answer[3]==Answer[4])
return 0;
else
return 2;
case 3:
if(Answer[4]==Answer[5])
return 0;
else
return 3;
case 4:
if(Answer[5]==Answer[6])
return 0;
else
return 4;
case 5:
if(Answer[6]==Answer[7])
return 0;
else
return 5;
default:
return -1;
}
}
return -1;
}
// 题3 返回:0 正确 -1 1~5 错误
int NO3( int * Answer)
... {
switch(Answer[3])
...{
case 1:
if(Answer[3]==Answer[1])
return 0;
else
return 1;
case 2:
if(Answer[3]==Answer[2])
return 0;
else
return 2;
case 3:
if(Answer[3]==Answer[4])
return 0;
else
return 3;
case 4:
if(Answer[3]==Answer[7])
return 0;
else
return 4;
case 5:
if(Answer[3]==Answer[6])
return 0;
else
return 5;
default:
return -1;
}
return -1;
}
// 题4 返回:0 正确 -1 1~5 错误
int NO4( int * Answer)
... {
int i=1,n=0;
while(i<=10)
...{
if(Answer[i]==1) n++;
i++;
}
switch(Answer[4])
...{
case 1:
if(n==0)
return 0;
else
return 1;
case 2:
if(n==1)
return 0;
else
return 2;
case 3:
if(n==2)
return 0;
else
return 3;
case 4:
if(n==3)
return 0;
else
return 4;
case 5:
if(n==4)
return 0;
else
return 5;
default:
return -1;
}
return -1;
}
// 题5 返回:0 正确 -1 1~5 错误
int NO5( int * Answer)
... {
switch(Answer[5])
...{
case 1:
if(Answer[5]==Answer[10])
return 0;
else
return 1;
case 2:
if(Answer[5]==Answer[9])
return 0;
else
return 2;
case 3:
if(Answer[5]==Answer[8])
return 0;
else
return 3;
case 4:
if(Answer[5]==Answer[7])
return 0;
else
return 4;
case 5:
if(Answer[5]==Answer[6])
return 0;
else
return 5;
default:
return -1;
}
return -1;
}
// 题6 返回:0 正确 -1 1~5 错误
int NO6( int * Answer)
... {
int i=1,na=0,nb=0,nc=0,nd=0,ne=0;
while(i<=10)
...{
switch(Answer[i])
...{
case 1:na++;break;
case 2: nb++;break;
case 3: nc++;break;
case 4: nd++;break;
case 5: ne++;break;
default:return -1;break;
}
i++;
}
switch(Answer[6])
...{
case 1:
if(na==nb)
return 0;
else
return 1;
case 2:
if(na==nc)
return 0;
else
return 2;
case 3:
if(na==nd)
return 0;
else
return 3;
case 4:
if(na==ne)
return 0;
else
return 4;
case 5:
if((na!=nb)&&(na!=nc)&&(na!=nd)&&(na!=ne))
return 0;
else
return 5;
default:
return -1;
}
return -1;
}
// 题7 返回:0 正确 -1 1~5 错误
int NO7( int * Answer)
... {
switch(Answer[7])
...{
case 1:
if(abs(Answer[7]-Answer[8])==4)
return 0;
else
return 1;
case 2:
if(abs(Answer[7]-Answer[8])==3)
return 0;
else
return 2;
case 3:
if(abs(Answer[7]-Answer[8])==2)
return 0;
else
return 3;
case 4:
if(abs(Answer[7]-Answer[8])==1)
return 0;
else
return 4;
case 5:
if(abs(Answer[7]-Answer[8])==0)
return 0;
else
return 5;
default:return -1;
}
return -1;
}
// 题8 返回:0 正确 -1 1~5 错误
int NO8( int * Answer)
... {
int i=1,n=0;
while(i<=10)
...{
if((Answer[i]==1)||(Answer[i]==5)) n++;
i++;
}
switch(Answer[8])
...{
case 1:
if(n==2)
return 0;
else
return 1;
case 2:
if(n==3)
return 0;
else
return 2;
case 3:
if(n==4)
return 0;
else
return 3;
case 4:
if(n==5)
return 0;
else
return 4;
case 5:
if(n==6)
return 0;
else
return 5;
default:return -1;
}
return -1;
}
// 题9 返回:0 正确 -1 1~5 错误
int NO9( int * Answer)
... {
int i=1,n=0;
while(i<=10)
...{
if((Answer[i]==2)||(Answer[i]==3)||(Answer[i]==4)) n++;
i++;
}
switch(Answer[9])
...{
case 1:
if((n==2)||(n==3)||(n==5)||(n==7))//质数(素数)
return 0;
else
return 1;
case 2:
if((n==1)||(n==2)||(n==6))//阶乘数
return 0;
else
return 2;
case 3:
if((n==1)||(n==4)||(n==9))//平方数
return 0;
else
return 3;
case 4:
if((n==1)||(n==8))//立方数
return 0;
else
return 4;
case 5:
if((n==5)||(n==10))//5的倍数
return 0;
else
return 5;
default:return -1;
}
return -1;
}
int _tmain( int argc, _TCHAR * argv[])
... {
int i;
int Answer[11];
char Answerc[5] = ...{'a','b','c','d','e'};
for (Answer[1]=1;Answer[1]<=5;Answer[1]++)
for (Answer[2]=1;Answer[2]<=5;Answer[2]++)
for (Answer[3]=1;Answer[3]<=5;Answer[3]++)
for (Answer[4]=1;Answer[4]<=5;Answer[4]++)
for (Answer[5]=1;Answer[5]<=5;Answer[5]++)
for (Answer[6]=1;Answer[6]<=5;Answer[6]++)
for (Answer[7]=1;Answer[7]<=5;Answer[7]++)
for (Answer[8]=1;Answer[8]<=5;Answer[8]++)
for (Answer[9]=1;Answer[9]<=5;Answer[9]++)
for (Answer[10]=1;Answer[10]<=5;Answer[10]++)
...{
if((NO1(Answer)==0)&&(NO2(Answer)==0)&&(NO3(Answer)==0)&&(NO4(Answer)==0)&&(NO5(Answer)==0)&&(NO6(Answer)==0)&&(NO7(Answer)==0)&&(NO8(Answer)==0)&&(NO9(Answer)==0))
...{
for(i = 1; i < 11; i++)...{
printf(" %c ",Answerc[Answer[i] - 1]);
}
}
}
return 0;
}
//
#include " stdafx.h "
#include " math.h "
#include " stdio.h "
// 题1 返回:0 正确 -1 1~5 错误
int NO1( int * Answer)
... {
int i=1;
while(i<=10)
...{
if(Answer[i]==2)
...{
switch(Answer[1])
...{
case 1:
if(i==2)
return 0;
else
return 1;
case 2:
if(i==3)
return 0;
else
return 2;
case 3:
if(i==4)
return 0;
else
return 3;
case 4:
if(i==5)
return 0;
else
return 4;
case 5:
if(i==6)
return 0;
else
return 5;
default:
return -1;
}
}
i++;
}
return -1;
}
// 题2 返回:0 正确 -1 1~5 错误
int NO2( int * Answer)
... {
int i=1,n=0;
while(i<10)
...{
if(Answer[i]==Answer[i+1]) n++;
i++;
}
if(n==1)
...{
switch(Answer[2])
...{
case 1:
if(Answer[2]==Answer[3])
return 0;
else
return 1;
case 2:
if(Answer[3]==Answer[4])
return 0;
else
return 2;
case 3:
if(Answer[4]==Answer[5])
return 0;
else
return 3;
case 4:
if(Answer[5]==Answer[6])
return 0;
else
return 4;
case 5:
if(Answer[6]==Answer[7])
return 0;
else
return 5;
default:
return -1;
}
}
return -1;
}
// 题3 返回:0 正确 -1 1~5 错误
int NO3( int * Answer)
... {
switch(Answer[3])
...{
case 1:
if(Answer[3]==Answer[1])
return 0;
else
return 1;
case 2:
if(Answer[3]==Answer[2])
return 0;
else
return 2;
case 3:
if(Answer[3]==Answer[4])
return 0;
else
return 3;
case 4:
if(Answer[3]==Answer[7])
return 0;
else
return 4;
case 5:
if(Answer[3]==Answer[6])
return 0;
else
return 5;
default:
return -1;
}
return -1;
}
// 题4 返回:0 正确 -1 1~5 错误
int NO4( int * Answer)
... {
int i=1,n=0;
while(i<=10)
...{
if(Answer[i]==1) n++;
i++;
}
switch(Answer[4])
...{
case 1:
if(n==0)
return 0;
else
return 1;
case 2:
if(n==1)
return 0;
else
return 2;
case 3:
if(n==2)
return 0;
else
return 3;
case 4:
if(n==3)
return 0;
else
return 4;
case 5:
if(n==4)
return 0;
else
return 5;
default:
return -1;
}
return -1;
}
// 题5 返回:0 正确 -1 1~5 错误
int NO5( int * Answer)
... {
switch(Answer[5])
...{
case 1:
if(Answer[5]==Answer[10])
return 0;
else
return 1;
case 2:
if(Answer[5]==Answer[9])
return 0;
else
return 2;
case 3:
if(Answer[5]==Answer[8])
return 0;
else
return 3;
case 4:
if(Answer[5]==Answer[7])
return 0;
else
return 4;
case 5:
if(Answer[5]==Answer[6])
return 0;
else
return 5;
default:
return -1;
}
return -1;
}
// 题6 返回:0 正确 -1 1~5 错误
int NO6( int * Answer)
... {
int i=1,na=0,nb=0,nc=0,nd=0,ne=0;
while(i<=10)
...{
switch(Answer[i])
...{
case 1:na++;break;
case 2: nb++;break;
case 3: nc++;break;
case 4: nd++;break;
case 5: ne++;break;
default:return -1;break;
}
i++;
}
switch(Answer[6])
...{
case 1:
if(na==nb)
return 0;
else
return 1;
case 2:
if(na==nc)
return 0;
else
return 2;
case 3:
if(na==nd)
return 0;
else
return 3;
case 4:
if(na==ne)
return 0;
else
return 4;
case 5:
if((na!=nb)&&(na!=nc)&&(na!=nd)&&(na!=ne))
return 0;
else
return 5;
default:
return -1;
}
return -1;
}
// 题7 返回:0 正确 -1 1~5 错误
int NO7( int * Answer)
... {
switch(Answer[7])
...{
case 1:
if(abs(Answer[7]-Answer[8])==4)
return 0;
else
return 1;
case 2:
if(abs(Answer[7]-Answer[8])==3)
return 0;
else
return 2;
case 3:
if(abs(Answer[7]-Answer[8])==2)
return 0;
else
return 3;
case 4:
if(abs(Answer[7]-Answer[8])==1)
return 0;
else
return 4;
case 5:
if(abs(Answer[7]-Answer[8])==0)
return 0;
else
return 5;
default:return -1;
}
return -1;
}
// 题8 返回:0 正确 -1 1~5 错误
int NO8( int * Answer)
... {
int i=1,n=0;
while(i<=10)
...{
if((Answer[i]==1)||(Answer[i]==5)) n++;
i++;
}
switch(Answer[8])
...{
case 1:
if(n==2)
return 0;
else
return 1;
case 2:
if(n==3)
return 0;
else
return 2;
case 3:
if(n==4)
return 0;
else
return 3;
case 4:
if(n==5)
return 0;
else
return 4;
case 5:
if(n==6)
return 0;
else
return 5;
default:return -1;
}
return -1;
}
// 题9 返回:0 正确 -1 1~5 错误
int NO9( int * Answer)
... {
int i=1,n=0;
while(i<=10)
...{
if((Answer[i]==2)||(Answer[i]==3)||(Answer[i]==4)) n++;
i++;
}
switch(Answer[9])
...{
case 1:
if((n==2)||(n==3)||(n==5)||(n==7))//质数(素数)
return 0;
else
return 1;
case 2:
if((n==1)||(n==2)||(n==6))//阶乘数
return 0;
else
return 2;
case 3:
if((n==1)||(n==4)||(n==9))//平方数
return 0;
else
return 3;
case 4:
if((n==1)||(n==8))//立方数
return 0;
else
return 4;
case 5:
if((n==5)||(n==10))//5的倍数
return 0;
else
return 5;
default:return -1;
}
return -1;
}
int _tmain( int argc, _TCHAR * argv[])
... {
int i;
int Answer[11];
char Answerc[5] = ...{'a','b','c','d','e'};
for (Answer[1]=1;Answer[1]<=5;Answer[1]++)
for (Answer[2]=1;Answer[2]<=5;Answer[2]++)
for (Answer[3]=1;Answer[3]<=5;Answer[3]++)
for (Answer[4]=1;Answer[4]<=5;Answer[4]++)
for (Answer[5]=1;Answer[5]<=5;Answer[5]++)
for (Answer[6]=1;Answer[6]<=5;Answer[6]++)
for (Answer[7]=1;Answer[7]<=5;Answer[7]++)
for (Answer[8]=1;Answer[8]<=5;Answer[8]++)
for (Answer[9]=1;Answer[9]<=5;Answer[9]++)
for (Answer[10]=1;Answer[10]<=5;Answer[10]++)
...{
if((NO1(Answer)==0)&&(NO2(Answer)==0)&&(NO3(Answer)==0)&&(NO4(Answer)==0)&&(NO5(Answer)==0)&&(NO6(Answer)==0)&&(NO7(Answer)==0)&&(NO8(Answer)==0)&&(NO9(Answer)==0))
...{
for(i = 1; i < 11; i++)...{
printf(" %c ",Answerc[Answer[i] - 1]);
}
}
}
return 0;
}