博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
寒假编程总结一
阅读量:5066 次
发布时间:2019-06-12

本文共 1208 字,大约阅读时间需要 4 分钟。

编程总结

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\n",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("\n");

              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("\n");

              a=a+2;

       }

       count=N-temp;

   }

       printf("%d",count);

       return 0;

 }

2)设计思路:

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

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

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

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

3)遇到的问题:

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

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

5)错误截图:

 

 

 

转载于:https://www.cnblogs.com/lyl68/p/10400971.html

你可能感兴趣的文章
设计器 和后台代码的转换 快捷键
查看>>
Monkey测试结果分析
查看>>
STL——配接器、常用算法使用
查看>>
STL容器之vector
查看>>
无法向会话状态服务器发出会话状态请求
查看>>
数据中心虚拟化技术
查看>>
01入门
查看>>
复习文件操作
查看>>
SQL Server 使用作业设置定时任务之一(转载)
查看>>
第二阶段冲刺-01
查看>>
BZOJ1045 HAOI2008 糖果传递
查看>>
发送请求时params和data的区别
查看>>
JavaScript 克隆数组
查看>>
eggs
查看>>
一步步学习微软InfoPath2010和SP2010--第七章节--从SP列表和业务数据连接接收数据(4)--外部项目选取器和业务数据连接...
查看>>
如何增强你的SharePoint 团队网站首页
查看>>
FZU 1914 Funny Positive Sequence(线性算法)
查看>>
oracle 报错ORA-12514: TNS:listener does not currently know of service requested in connec
查看>>
基于grunt构建的前端集成开发环境
查看>>
MySQL服务读取参数文件my.cnf的规律研究探索
查看>>