首页 > 其他 > 详细

打印沙漏

时间:2019-02-21 17:03:23      阅读:176      评论:0      收藏:0      [点我收藏+]

1)程序代码:

#include<stdio.h>
#include<math.h>
int main()
{
    int i,j,k,a,b,c,d=0;;
    char op;
    scanf("%d %c",&a,&op);
    for(i=3;;i=i+2){
        c=i*2;//菱形有上下对称,算总数要乘2. 
        d=d+c;大于就是多加了一行 
        if(d+1>a){ 
            i=i-2;
            break;
        }
        if(d+1==a){
            break;//
        } 
    }
    int z=0;
    int g=i;//i从上往下数菱形的层数 
    int e=(i-1)/2;int f=e;
    for(int h=1;h<=g;h++){//菱形层数 
        for(j=fabs(e);j<f;j++){
            printf(" ");
        }
        for(int k=fabs(i);k>0;k--){
        printf("%c",op);
        z++; 
        }
        printf("\n");
        e=e-1;//绝对值让空格数从少到多,再到少。
        i=i-2;//每层星数相差两个 
        if(i==-1){
            i=i-2;
        } 
    }
    printf("%d",a-z);
    return 0;
 } 

2)设计思路:

技术分享图片

3)调试过程中遇到的问题及解决方法:

没有遇到问题,一次性通过。

4)运行结果截图

技术分享图片

打印沙漏

原文:https://www.cnblogs.com/dzspve/p/10413675.html

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