ClAorlgto 发表于 2019-9-5 16:56:07

关于三重循环中用continue结束循环的问题

本帖最后由 ClAorlgto 于 2019-9-5 20:03 编辑

/*题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。 */
#include<stdio.h>
int main()
{
        int i,j,k;
        for(i=1;i<=4;i++)
        {
                for(j=1;j<=4;j++)
                {
                        if(j==i)
                        {
                                continue;
                        }
                        for(k=1;k<=4;k++)
                        {
                                if(k==i||k==j)
                                {
                                        continue;
                                        printf("%d%d%d\n",i,j,k);
                                }
                        }
                }
        }
        return 0;
}


continue不是跳出当前循环么?C小白求解

ClAorlgto 发表于 2019-9-5 17:08:16

运行结果出错,不懂原因,求解答

ClAorlgto 发表于 2019-9-5 17:09:07

不用continue可以解决这个问题,但我就是想知道使用continue问题出在哪{:5_104:}

ClAorlgto 发表于 2019-9-5 19:17:36

有大佬帮忙解释一下吗

bin554385863 发表于 2019-9-5 19:39:09

本帖最后由 bin554385863 于 2019-9-5 19:55 编辑

ClAorlgto 发表于 2019-9-5 19:17
有大佬帮忙解释一下吗


三位数应该有百位十位和个位吧,你的程序在哪表现出来了?

ClAorlgto 发表于 2019-9-5 20:02:06

bin554385863 发表于 2019-9-5 19:39
三位数应该有百位十位和个位吧,你的程序在哪表现出来了?

你运行就知道了,第一个循环是百位数字,第二个是十位,第三个是个位

ClAorlgto 发表于 2019-9-5 20:02:40

解决了,我把输出竟然放在continue后面了{:5_99:}

bin554385863 发表于 2019-9-5 20:40:26

ClAorlgto 发表于 2019-9-5 20:02
解决了,我把输出竟然放在continue后面了

其实你还可以把输出语句放在goto后面{:10_264:}

ClAorlgto 发表于 2019-9-5 21:37:13

bin554385863 发表于 2019-9-5 20:40
其实你还可以把输出语句放在goto后面

goto那个东西简单的程序确实可以用...

心驰神往 发表于 2020-11-3 15:57:03

{:10_256:}
页: [1]
查看完整版本: 关于三重循环中用continue结束循环的问题