一楼的解法有改掉回圈不会结束的问题。
不过在i <= 10的时候,会第一行印出11个图形。
之后当i >10以后,每换一行ˊ只会印出1个图形。
建议if..else还是使用"{","}"包起来,不然底下的i++不晓得是条件成立才加,还是每次都加。
如果是要每行都有11个图形的话,可以像底下的作法。
(只贴do里面的,其他不变的就不贴了)
复制程式
do
{
i = 0;
do
{
if((i+j)%2==0)
{
printf("%c",2);
}else{
printf("%c",1);
}
i++;
}while(i<=10);
printf("\n");
j++;
}while(j<=10);
不过我比较好奇的是,楼主为什么要在第一个do..while里面把j也设为0?
题外话,楼主的闰年问题,已经有附专案到在下回覆的主题内。所以有空可以去看看。在下是用vs2005,所以如果vs2010不能编译的话,设定部分可能就要麻烦楼主去找一下噜。
里面用到的都是vc++内建的东西,所以应该是不用改设定才对。
图 1. Result