zoukankan      html  css  js  c++  java
  • 寒假作业1编程总结。

    一、题目
    7-1 打印沙漏 (20 分)

    本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印

    *****
     ***
      *
     ***
    *****
    

    所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。

    给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。

    输入格式:

    输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。

    输出格式:

    首先打印出由给定符号组成的最大的沙漏形状,最后在一行中输出剩下没用掉的符号数。

    输入样例:

    19 *

    二、实验代码

    #include<stdio.h>

    int main()

    {

        int i,N,sum,h,r,d,k;

        char c;

        scanf("%d %c",&N,&c);

        sum=0;

        for(i=1;sum<=N;i++)

      {

        sum=2*i*i-1;

      }

            h=i-2;

            sum=2*h*h-1;

            printf("%d %d ",sum,h);

            r=N-sum;

            for(d=h;d>0;d--)
    {
            if(d<h)
    {
            for(k=h-d;k>0;k--)
    {
            printf(" ");}
    }
            for(i=2*d-1;i>0;i--)
    {       

           printf("%c",c);
    }
           printf(" ");

    }
           for(d=2;d<=h;d++)
    {
           if(d<h)
    {
           for(k=h-d;k>0;k--)
    {
           printf(" ");}
    }
           for(i=2*d-1;i>0;i--)
    {
            printf("%c",c);
    }
            printf(" ");
    }
            printf("%d ",r);

    }

    三、设计思路

    本题需要我们用程序编写出用*的沙漏形状,首先想到的是用整数慢慢一行一行的输出,之后就能形成一个沙漏的形状,但开始编译后发现多输出了其余的变量,之后试着自己调试,找到了是自己变量设置错误,重新修改在编译成功了。

  • 相关阅读:
    【11】 Java基础 <十一> —— equals的重写
    【10】 Java基础 <十> —— 用个人方法实现构造器的排序
    【9】 Java基础<九> —— 构造器的重载
    【8】 Java基础 <八> —— 方法的重载
    【7】 Java基础 <七> —— 自动装箱 自动拆箱
    【6】 Java基础 <六> —— super关键字
    Linux ssh下实现免密码登录(转载)
    Centos7 安装配置python3虚拟环境 virtualenvwrapper(转载)
    Linux 安装python3.7.0
    TOMCAT 日志自动删除
  • 原文地址:https://www.cnblogs.com/xzy999123/p/10455667.html
Copyright © 2011-2022 走看看