zoukankan      html  css  js  c++  java
  • 寒假编程总结一

    编程总结

    7-1 打印沙漏 (20 分)

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

    *****

     ***

      *

     ***

    *****

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

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

    1)实验代码:

    #include <stdio.h>

    int main(void)

    {

           int N,number,temp,a,sum,count,i,j;

           char ch;

           temp=7;a=3;

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

           if(N>1000||N<1) return 0;

           if(N<temp&&N>=1){

           printf("%c ",ch);

                  count=N-1;

           }

           else{

           do{

                  if(N>=temp){

                        

                         if(N<(temp+(a+2)*2)){

                                break;

                         }else if(N==(temp+(a+2)*2)){

                                     temp=temp+(a+2)*2;

                                     a=a+2;

                                       break;

                         }else{

                                       temp=temp+(a+2)*2;

                                       a=a+2;

                         }

                  }

           }while(1);

                   sum=a;

            number=(a/2);

           for(i=0;i<number;i++){

                  for(j=0;j<sum-a-i;j++){

                         printf(" ");

                  }

                  for(j=0;j<a;j++){

                         printf("%c",ch);

                  }

                  printf(" ");

                  a=a-2;

           }for(i=number;i>=0;i--){

                  for(j=0;j<sum-a-i;j++){

                         printf(" ");

                  }

                  for(j=0;j<a;j++){

                         printf("%c",ch);

                  }

                  printf(" ");

                  a=a+2;

           }

           count=N-temp;

       }

           printf("%d",count);

           return 0;

     }

    2)设计思路:

    第一步:你首先要定义自己需要的变量,

    第二步:你需要观察图形,发现是对称图形,并且要打印漏斗最少需要七个三行;

    第三步:你要确定打印漏斗所需要的符号数以及你给定符号能打印多少,还剩多少;

    第四步:打印漏斗的上部分,和进行换行,同时进行下部分图形的打印;

    3)遇到的问题:

    刚开始遇到判断图形需要的符号和符号能打印多大图形不能准确判断,其次就是最小的情况没有考虑,最大情况没有考虑,对漏斗形状的打印也不是很熟练;

    4)解决方法:网上查找去找到解题思路,然后一步一步慢慢在编译器上面发现问题,最后的答案错误,就去问指教,问会的同学;

    5)错误截图:

     

  • 相关阅读:
    Elasticsearch使用记录
    Python程序打包成exe的一些坑
    Django的基础操作总结
    社会工程学的基本理论和基本应用
    ceph分布式存储系统初探
    简单个人信息安全模型
    基于socket.io客户端与服务端的相互通讯
    使用node建立本地服务器访问静态文件
    java 03 数组
    java 04 面向对象
  • 原文地址:https://www.cnblogs.com/lyl68/p/10400971.html
Copyright © 2011-2022 走看看