使用if-else if-else时编译器报错我在做下面这个题时,让我们用字母B来表示“百”、字母S表示“十”,用“12...n”来表示个位数字n(n;if(n>=100)bai=n/100;shi=(n-bai*100)/10;ge=n-bai*100-shi*10;for(int i=0;i

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 19:07:10

使用if-else if-else时编译器报错我在做下面这个题时,让我们用字母B来表示“百”、字母S表示“十”,用“12...n”来表示个位数字n(n;if(n>=100)bai=n/100;shi=(n-bai*100)/10;ge=n-bai*100-shi*10;for(int i=0;i
使用if-else if-else时编译器报错
我在做下面这个题时,
让我们用字母B来表示“百”、字母S表示“十”,用“12...n”来表示个位数字n(n;
if(n>=100)
bai=n/100;
shi=(n-bai*100)/10;
ge=n-bai*100-shi*10;
for(int i=0;i

使用if-else if-else时编译器报错我在做下面这个题时,让我们用字母B来表示“百”、字母S表示“十”,用“12...n”来表示个位数字n(n;if(n>=100)bai=n/100;shi=(n-bai*100)/10;ge=n-bai*100-shi*10;for(int i=0;i
C++的访问域是通过{}控制的,不像python之类的靠对齐.
所以
     if(n>=100)
                {bai=n/100;}
                shi=(n-bai*100)/10;
              ……
         else if(n>=10)
                { shi=n/10;}
                ge=n-shi*10;
               for(i=0;i<shi;i++)
               { cout<<'S';}
               for(i=0;i<ge;i++)
              { cout<<'i';}
             cout<<endl;
       else
               { ge=n;}
                for(i=0;i<ge;i++)
                  {cout<<'i';}
                 cout<<endl;
\x05\x05return 0;
和你写的是等效的,明显是错误的…… C++语句结束不是}就是分号做结尾,无论遇到哪个都是终结符,编译器解析会将他们当做一个文法元素.if-else是就近匹配,if语句块终结的地方如果下一个语句不是else分句则默认匹配if-else{none},表示一个空的else默认匹配.之后结束此过程继续扫描.如果再某个非if语句块结尾碰到一个else分局就会报你这个错误.