WA WA WA WA,无语了
程序代码:#include<stdio.h>
int compare(int a[],int i);
int main()
{
int one,start,flag,num,big,small,ok,temp,time;
int a[]={4,6,8,10,12,13,16,18,19,21,32};
scanf("%d",&one);
time=0;
for(num=1;num<=100;num++)
{
big=100;small=1;flag=one;start=0;ok=0;
do
{
flag++;
if(!compare(a,flag))
{
temp=start+1;
}
else
temp=(big-small)/3+start;
if(temp>num)
big=temp;
else if(temp<num)
small=temp;
if((big-small==2)&&compare(a,flag+1)) break;
start=small;
if(temp==num)
{
ok=1;
if(!compare(a,flag))
{
time++;
if(num<10)
{
printf("%d %d\n",num,flag);
}
else
printf("%d %d\n",num,flag);
break;
}
}
if(flag==33) flag=0;
}while(ok==0);
if(time==10) break;
}
return 0;
}
int compare(int a[],int i)
{
int ok,j;
for(j=0;j<11;j++)
{
if(i!=a[j])
ok=1;
else
{
ok=0;
break;
}
}
return ok;
}题目是:“终极密码”的游戏,开始的start=0,规则是某一个同学从1~100中选一个号码,让后面的同学依次按学号顺序来猜(33号后面为1号)。例如1号同学选10,范围是(1~100);2号同学猜33,范围变成(33~100),start=33;女生的都是猜start+1,而男生是猜:范围/3+start,例如上述2号猜(100-1)/3+start=33。已知共有33个同学,学号4,6,8,10,12,13,16,18,19,21,32为女生。要求输入一个男生学号,输出让女生唱歌的数字及女生学号(最多输10项)。
题目很绕,他给的示例是输入15,这个测试数据我是对的,但是当我输入1的时候,笔算的结果和电脑算出来的不一样。
请问是什么原因。


都代表什么呀,我没信心看了。