首页 > 其他 > 详细

打印沙漏

时间:2019-02-21 13:49:43      阅读:174      评论:0      收藏:0      [点我收藏+]

1.实验代码

 1 #include <stdio.h>
 2 int main(int argc, char *argv[]) 
 3 {
 4     int i,su,k,j,m,n,kong,ge;
 5     char fuhao;
 6     while(1) 
 7     {
 8         scanf("%d %c",&su,&fuhao);
 9         if(su>0&&su<=1000)
10                     break;
11     }
12     k=su-1;
13     for (i=3;k>=2*i;i+=2) 
14     {
15         k=k-2*i;
16     }
17     i-=2;
18     n=i;
19     for (kong=0;i>=1;i-=2,kong++) 
20     {
21         for (j=0;j<kong;j++)
22                     printf(" ");
23         for (j=0;j<i;j++)
24                     printf("%c",fuhao);
25         printf("\n");
26     }
27     ge=kong-2;
28     for(m=3;m<=n;m+=2,ge--){
29         for(j=0;j<ge;j++)
30         printf(" ");
31         for(j=0;j<m;j++)
32         printf("%c",fuhao);
33         printf("\n");
34     }
35     printf("%d",k);
36     return 0;
37 }

2.设计思路

将沙漏分成三部分,上中下,发现空格和符号规律符合等差数列,然后用公式一步处理完。

 

3.实验过程中遇到的问题

之前没有找到规律想整体解决,后面发现要分部解决

 

4.运行结果截图

技术分享图片

 

打印沙漏

原文:https://www.cnblogs.com/xiangqi/p/10411914.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!