循环的奥秘:不同长度“x”符号的打印

1.循环问题解析的一般步骤:

        1.仔细阅读题目:多组输入,一个奇数,表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。

        2.分析问题案例:样例输入:3

                                    样例输出:

        3.将问题分解为多个循环点:

                1.在每行开头的空格个数存在循环

                2.每行中的两个“*”之间的空格个数存在循环

                3.上三行与下两行属于不同循环

                4.每行的换行控制符存在循环

        4。每次创建循环有两个步骤:

                1.创建两个变量:其中一个的值随每次循环而改变,并作为判断条件,另一个的值不变                        作为循环的执行条件

                2.制作循环

2.代码编写:

#include<stdio.h>‘
int main()
{
    int a;
    scanf_s("%d", &a);
    int b = (a + 1) / 2;
    int i = 0;
    int j = -1;
    int h;
    int p = a+2;
    int q;
    int z=a-1;
    int y;
    int x = 1;
    int t;
    int m=a-(a/2); int n;
    if (a % 2 == 1)
    {
        for (i = 0; i <= b; i++)
        {
            p = p - 2;
            j = j + 1;
            for (h = 0; h < j; h++)
            {
                printf(" ");
            }
            printf("*");

            for (q = 0; q < p; q++)
            {
                printf(" ");
            }

            if (i < b)
            {
                printf("*");
            }
            printf("\n");


        }
        for (n = 1; n <= m; n++)
        {
            for (y = 0; y < z-(a/2); y++)
            {
                printf(" ");
            }
            z = z - 1;
            printf("*");
            for (t = 0; t < x; t++)
            {
                printf(" ");
            }
            x = x + 2;
            printf("*");
            printf("\n");
        }


    }
    return 0;
}

3.解决问题的一般步骤

        1.观察结果,根据结果判断哪个循环出了问题。

        2.主要问题总结:

                1.循环次数不正确。解决方法:处理总循环的数据,比如加一减一。

                2.部分循环未执行。解决方法:观察规定变量是否在每次循环结束的时候改变。

                3.循环内容不正确。解决方法:处理每次变量的改变值或者处理判断条件语句。

                4.只能执行一个数据,其余数据出错。解决方法:多打几个数据,统计出错规律,

                以输入值为背景改变数据。

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值