zoukankan      html  css  js  c++  java
  • 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)运行结果截图

  • 相关阅读:
    随机验证码实验报告
    输出验证
    原码,反码,补码!
    枚举验证结论
    Java第一次考试有感
    暑假第七周学习进度报告
    暑假第六周学习进度报告
    MySQL学习笔记(22)——常用的日期时间函数
    execute()返回值——true or false
    ORM
  • 原文地址:https://www.cnblogs.com/wangweihanqq2001/p/10399250.html
Copyright © 2011-2022 走看看