使用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/11/26 06:59:52
使用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分局就会报你这个错误.