首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

为啥会出现未匹配if的else语句

2013-11-06 
为什么会出现未匹配if的else语句#includeiostreamusing namespace stdint main() {int x,a,b,c,d,e,fc

为什么会出现未匹配if的else语句
#include<iostream>
using namespace std;
int main() 
{int x,a,b,c,d,e,f;
cin>>x,a,b,c,d,e,f;
if(x/100000>=1)  { cout<<"无解";}
else   {if    (x/10000>=1) 
a=x/10000;
b=(x-a*10000)/1000; c=(x-a*10000-b*1000)/100;
d=( x-a*10000-b*1000-c*100)/10;
e= x-a*10000-b*1000-c*100-d*10;
f=e*10000+d*1000+c*100+b*10+a;
{cout<<"五位"<<a<<b<<c<<d<<e<<f<<;}
else  { if (x/1000>=1)           a=x/1000;
b=(x-a*1000)/100;
c=(x-a*1000-b*100)/10;
d= x-a*1000-b*100-c*10;
f=d*1000+c*100+b*10+a;
{cout<<"四位"<<a<<b<<c<<d<<f;}
else { if(x/100>=1)    a=x/100;
b=(x-a*100)/10;
c=x-a*100-b*10;
f=c*100+b*10+a;
{ cout<<"三位"<<a<<b<<c<<f;}
else  {if(x/10>=1)     a=x/10;
b=x-a*10; 
f=b*10+a;
{cout<<"两位"<<a<<b<<f;}
else   { a=x  ;  
f=a;
{cout<<"一位"<<a<<f;}]}}}}}

[解决办法]
因为没有编码规范
[解决办法]
从第7行开始: 
{if    (x/10000>=1) 
a=x/10000;//这条if语句到这里就结束了,所以下方那个else才会报错
b=(x-a*10000)/1000; c=(x-a*10000-b*1000)/100;
d=( x-a*10000-b*1000-c*100)/10;
e= x-a*10000-b*1000-c*100-d*10;
f=e*10000+d*1000+c*100+b*10+a;
{cout<<"五位"<<a<<b<<c<<d<<e<<f<<;}
else  { if (x/1000>=1)           a=x/1000;
[解决办法]
{cout<<"五位"<<a<<b<<c<<d<<e<<f<<;}//这里也有问题

还是建议你使用缩进的风格,这样程序的结构会清楚很多
[解决办法]

引用:
请问大神,哪里出错了,指条明路


if elseif else 必须要要匹配起来,而且中间不能额外添加其他语句,最好都放在{}中处理!

if()
{
...
}
elseif()
{
...
}  
else
{
...

[解决办法]
#include<iostream>
using namespace std;
int main() 
{
int x,a,b,c,d,e,f;
cin>>x;//,a,b,c,d,e,f;
if(x/100000>=1)  

cout<<"无解";
}
else   
{
if(x/10000>=1) 
{
a=x/10000;
b=(x-a*10000)/1000; 
c=(x-a*10000-b*1000)/100;
d=( x-a*10000-b*1000-c*100)/10;
e= x-a*10000-b*1000-c*100-d*10;
f=e*10000+d*1000+c*100+b*10+a;
cout<<"五位"<<a<<b<<c<<d<<e<<f;
}
else  

if (x/1000>=1)           
{
a=x/1000;
b=(x-a*1000)/100;
c=(x-a*1000-b*100)/10;
d= x-a*1000-b*100-c*10;
f=d*1000+c*100+b*10+a;
cout<<"四位"<<a<<b<<c<<d<<f;
}
else 

if(x/100>=1)    
{
a=x/100;
b=(x-a*100)/10;
c=x-a*100-b*10;
f=c*100+b*10+a;
cout<<"三位"<<a<<b<<c<<f;
}
else  
{
if(x/10>=1)     
{
a=x/10;
b=x-a*10; 
f=b*10+a;
cout<<"两位"<<a<<b<<f;
}
else   

a=x  ;  
f=a;
cout<<"一位"<<a<<f;
}
}
}
}
}
}

热点排行