关闭

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

标签: 1
306人阅读 评论(0) 收藏 举报
分类:

虽然用用的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;

}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:19124次
    • 积分:482
    • 等级:
    • 排名:千里之外
    • 原创:27篇
    • 转载:26篇
    • 译文:0篇
    • 评论:0条
    文章分类