为什么使用相似的控制流语句会得到不同的输出?

时间:2019-01-18 04:29:36

标签: c switch-statement codeblocks

我应该写一个生成以下示例输出的C程序。

(1)测试用例1:

Enter the height:
3
Pattern:
1
22
333

(2)测试案例2:

Enter the height:
7
Pattern:
1
22
333
1111
22222
333333
1111111

#include <stdio.h>
int main()
{
    int row, col, height, num;
    printf("Enter the height: \n");
    scanf("%d", &height);
    printf("Pattern: \n");

    for(row=1; row<=height; row++)
    {
        for(col=1;col<=row;col++)
        {
            if (row % 3 == 1)
                printf("1");
            else if (row % 3 == 2)
                printf("2");
            else
                printf("3");
            }
            printf("\n");
    }
    return 0;
}



#include <stdio.h>
int main()
{
    int row, col, height, num;
    printf("Enter the height: \n");
    scanf("%d", &height);
    printf("Pattern: \n");

    for(row=1; row<=height; row++)
    {
        for(col=1;col<=row;col++)
        {
            num = row % 3
            switch(num){
               case 1:
                   printf("1");
               case 2:
                   printf("2");
               case 3:
                   printf("3");
            }
            printf("\n");
    }
    return 0;
}

第一个代码有效,尽管第二个代码与第一个相似,为什么第二个代码却不起作用?

0 个答案:

没有答案