• 寒假编程总结一


    编程总结

    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)错误截图:

     

  • 相关阅读:
    jQuery使用工具集
    JQuery解决鼠标单双击冲突问题
    线程池
    配置文件application.properties参数详解
    SpringBoot整合SpringDataJPA
    获取数据库的自增主键(六)
    【使用篇二】邮箱自动化配置集成(18)
    Quartz自动化配置集成
    Cron表达式详解
    标准盒模型和怪异盒模型的区别
  • 原文地址:https://www.cnblogs.com/lyl68/p/10400971.html
Copyright © 2020-2023  润新知