qq893161525 发表于 2014-6-25 13:57:16

找不出的错误

#include<stdio.h>
#include<math.h>
void main(void)
{
int a,b,t=0,i,j,en,an={5,2,4,7};

while(a!=4)
{
a=0;
b=0;
t++;
scanf("%d",&en);
for(i=3;i>=0;i--)
{
   
   
   for{j=0;j<=3;j++}   /箭头标的是这一段,没少括号或分号啊/
   {
    if((int)(en/pow(10,i))==an)
    {
   if(i+j==3)
   {
      a=a+1;
   }
   
   else
   
   {
      b=b+1;
   }
    }
   }
   en=en-((int)(en/pow(10,i)))*((int)pow(10,i));
   printf("%dA%dB\n",a,b);
}
}
}

错误提示: error C2143: syntax error : missing ';' before '}'执行 cl.exe 时出错.

找半天都找不出错误的地方

xuheng 发表于 2014-6-25 14:00:19

for语句的条件应该是放在()里吧,不是用{}

qq893161525 发表于 2014-6-25 14:02:50

哦,找到了,谢谢{:1_1:}

qq893161525 发表于 2014-6-25 14:52:53

再问一下怎么添加一段只能输入数字的代码????

戏++ 发表于 2014-6-25 15:25:57

#include<stdio.h>
#include<math.h>
void main(void)
{
        int a=0,b=0,t=0,i,j,en,an={5,2,4,7};

        while(a!=4)
        {
                a=0;
                b=0;
                t++;
                scanf("%d",&en);
                for(i=3;i>=0;i--)
                {
                        for(j=0;j<=3;j++)   //箭头标的是这一段,没少括号或分号啊/
                        {
                                if((int)(en/pow(10,i))==an)
                                {
                                        if(i+j==3)
                                        {
                                                a=a+1;
                                        }
                                        else
                                        {
                                                b=b+1;
                                        }
                                }
                        }
                        en=en-((int)(en/pow(10,i)))*((int)pow(10,i));
                        printf("%dA%dB\n",a,b);
                }
        }
}

风之残月 发表于 2014-6-26 11:18:12

是"()" 不是 "{}"
页: [1]
查看完整版本: 找不出的错误