输入边长n 输出n边长实心菱形 和n边长空心菱形

原创 2015年07月07日 21:11:03

虽然用用的foundation框架,但是语言是c,用studio.h头文件也可以运行.

理论就是把菱形的四个象限的公式计算出来了,通过||来显示边.


#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {

    // 用户输入边长

    int n = 0;

    int zongchang = 0;

    // 菱形所在矩形的总边长

    printf("请输入边长n:");

    scanf("%d",&n);

    zongchang = ((n*2)-1);

//    printf("%d",zongchang);

    // 矩形的高

    for (int i = 1; i <= zongchang;i++) {

        // 矩形的宽

        if(i <= (n-1)){

            // 矩形上半部

            for(int j = 1;j <= zongchang ; j++){

                if (j == i+(n-1) || j == (n+1)-i) {

                    printf("*");

                }else{

                    printf(" ");

                }

            }

        }else{

            // 矩形下半部

            for (int k = 1; k <= zongchang; k++) {

                if (k == i-(n-1) || k== (zongchang+n) - i) {

                    printf("*");

                    

                }else{

                    printf(" ");

                }

                

            }

        

        }

        printf("\n");

    }

    for (int i = 1; i <= zongchang;i++) {

        // 矩形的宽

        if(i <= (n-1)){

            // 矩形上半部

            for(int j = 1;j <= zongchang ; j++){

                if (j >= i+(n-1) || j <= (n+1)-i) {

                    printf(" ");

                }else{

                    printf("*");

                }

            }

        }else{

            // 矩形下半部

            for (int k = 1; k <= zongchang; k++) {

                if (k <= i-(n-1) || k >= (zongchang+n) - i) {

                    printf(" ");

                    

                }else{

                    printf("*");

                }

                

            }

            

        }

        printf("\n");

    }

    

    

    return 0;

}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

用*输出边长为n的实心菱形

输入n,分别用*输出边长为n的实心菱形。     //    例如:n = 3时,输出:     //     *     //    *** ...

php 打印一个边长为N的实心和空心菱型

php 打印一个边长为N的实心和空心菱型。

华为机考 给你一个N*M的矩阵,每个位置的值是0或1,求一个面积最大的子矩阵,这个矩阵必须是一个正方形,且里面只能由1构成,输出最大的正方形边长。其中n,m<=400;

借鉴博客 :http://www.bkjia.com/Androidjc/1019264.html 此问题主要是求一个数组的最大连续相同字符的正方形的问题,比如 0  1  1  1  1  1 ...

输出空心或实心菱形

  • 2011-11-26 19:14
  • 403B
  • 下载

任意输入一个数,打印对应的空心实心金字塔以及菱形

1.打印1/4菱形 var n=window.prompt('请输入一个整数'); n=parseInt(n); for (var i=1;i<=n ;i++ ) { for (v...

热身题——JAVA实现输出n行菱形

获取用户输入的行数Scanner sca=new Scanner(System.in); System.out.println("请输入一个数字:"); int input=sca.nextInt()...

js绘制菱形(空心和实心)

js绘制菱形,其实很简单,只要发现其中的规律,就可以了,代码如下,首先是空心var n=window.prompt("请输入n"); n=2*n-1; var temp = parse...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)