该楼层疑似违规已被系统折叠隐藏此楼查看此楼
关于for嵌套循环语句的疑问:
用for语句来嵌套循环使用是不是存在啥权限大小的问题呢?为什么在调换下不同for语句的位置的情况下得出的结果会不一样呢?请各位大虾指点一二,谢谢~~
举例如下:
main()
{inta,a1,a2=8,a3=2,b,b1=4,b2,b3,c,c1,c2,c3,c4;
for(a1=0;a1<=9;a1++)
{
for(b2=0;b2<=9;b2++)
{
for(b3=1;b3<=9;b3++)
{
for(c1=0;c1<=0;c1++)
{
for(c2=0;c2<=9;c2++)
{
for(c3=0;c3<=9;c3++)
{
for(c4=1;c4<=9;c4++)
{
a=100*a3+10*a2+a1;
b=100*b3+10*b2+b1;
c=1000*c4+100*c3+10*c2+c1;
if(a+b==c)
printf("%d,%d,%d\t",a,b,c);
}
}
}
}
}
}
}
}
问题原型是关于分珠宝:国王将一盒珠宝分给三个公主,大公主得到280多颗;二公主得到的也是三位数,且个位是4;小公主得到的珠宝数是两个姐姐的总和.
又知三位公主的珠宝数正巧是由0~9十个数字组成,求各位公主的珠宝为多少?
main()
{intold_begum,mid_begum,lit_begum,a1,a2=8,a3=2,b1=4,b2,b3,c1,c2,c3,c4=1;
for(c3=0;c3<=2;c3++)
{for(b3=7;b3<=9;b3++)
{for(b2=1;b2<=9;b2++)
{for(c1=0;c1<=9;c1++)
{for(c2=0;c2<=9;c2++)
{for(a1=0;a1<=9;a1++)
old_begum=280+a1;
mid_begum=100*b3+10*b2+b1;
lit_begum=1000*c4+100*c3+10*c2+c1;
if(lit_begum==old_begum+mid_begum)
printf("%d,%d,%d\t",old_begum,mid_begum,lit_begum);
}
}
}
}
}
}
本来就是想用for嵌套循环先得出初步得出可能值(还没另各组成部分互异),可就发现for循环这有问题啊~~~
循环内外的权限是怎样子的?