• 2018秋季寒假作业4-打印沙漏


    题目一:打印沙漏

    1)代码截图

    #include <stdio.h>
    int main(void) 
    {
        int m,s=1,i=1;       ////s为字符数
        char op;
        scanf("%d %c",&m,&op);
        
        while(s<=m)
        {
            s=s+2*(2*(i+1)-1);
            if(s<=m)
                i++;
        }
        int j,n;
        for(j=0;j<i;j++)
        {
                for(n=0;n<j;n++)
                {
                    printf(" ");
                }
                for(n=0;n<2*(i-j)-1;n++)
               {
                   printf("%c",op);
               }
        printf("
    ");
        }
        for(j=2;j<=i;j++)
        {
               for(n=0;n<i-j;n++)
               {
                printf(" ");
               }
            for(n=0;n<2*j-1;n++)
               {
                printf("%c",op);
               }
        printf("
    ");
        }
        printf("%d",m-(s-2*(2*(i+1)-1)));
    }

    2)设计思路

    这个题目首先要利用数学知识的等差数列找出规律,明显沙漏上下输出的符号是对称的。这个规律没有找出来,在百度上搜索后面才知道。把规律找出来后用while语句来判断字符·的·函数,利用for语句来计算和统计字符的数量,最后要注意的是,即使是没有用完的字符也要在最后一行全部输出即可

    3)本题调试过程中遇到的问题及解决方案

    问题一:忘记把剩余的字符输出

    问题一的解决方案:将几个测试点拿出来调试,不断的输入数字比对答案才发现错误地方

    4)运行结果截图

  • 相关阅读:
    信号与系统快速学习
    强化学习1
    微积分学习
    最优化学习4
    黑苹果安装显卡驱动、CUDA、cudnn
    Pandas处理txt文件(去重复行, 过滤行)
    xml -> dict
    数据结构与算法(四) --- 排序
    数据结构与算法(三) --- 链表
    数据结构与算法(二) --- 全排列、全组合
  • 原文地址:https://www.cnblogs.com/wangweihanqq2001/p/10399250.html
Copyright © 2020-2023  润新知