C语言 空心菱形打印

/*
打印出空心菱形。
       *
      * *
     *   *
    *     *
   *       *
    *     *
     *   *
      * *
       *
*/

#include <stdio.h>

void main()
{
    int i,j;
    for(i = 0; i < 5; i++)
    {
        for(j = 0; j < 4 - i; j++)
        {
            printf(" ");
        }
        printf("*");
        for(j = 0; j < 2 * i - 1; j++)
        {
            printf(" ");
        }
        if(i != 0)
        {
            printf("*");
        }
        printf("\n");
    }

    for(i = 0; i < 4; i++)
    {
        for(j = 0; j < i + 1; j++)
        {
            printf(" ");
        }
        printf("*");
        for(j = 0; j < 5 - 2 * i; j++)
        {
            printf(" ");
        }
        if(i != 3)
        {
            printf("*");
        }
        printf("\n");
    }
}
时间: 2024-10-11 03:53:51

C语言 空心菱形打印的相关文章

c语言打印空心菱形

***算法:把菱形的中心看成坐标的原点(0,0),由此可以知道,如果|x| + |y| <= n;则打印输出"*"号,否则打印输出" " int mai(){ int n; printf("请输入来那个菱形边长:"); scanf("%d",&n); //打印实心菱形 for (int x = -(n-1); x <= n-1; x++){ for (int y = -(n-1); y <= n-1;

C语言---打印空心菱形

首先找出上尖三角形的空格和*之间的规律,利用for循环的嵌套来输出上尖三角形,if是用来判断是否输出到最后一个*号,如果是就换行. int n = 4; for(int i = 1 ; i <= n ; i++){ for(int j = n - i ; j > 0 ; j-- ){ // n - 1 为每一行需要输出的空格数量 printf(" "); } for(int x = 1 ; x <= 1+(2*(i-1)) ; x++) //1+(2*(i-1)) 为

使用for循环打印矩形和三角形、菱形、空心菱形

打印矩形 **************************************************************************************************** public class Demo3_712 { public static void main(String args[]){ for(int i=1;i<=10;i++){ //控制行 for(int j=1;j<=10;j++){ //控制列 System.out.print(&

打印出空心菱形

/*打印出空心菱形.        *      *  *    *      *  *          * *              * *            *   *         *     *     *         **/ #include <stdio.h> void main(){     int i,j;      for(i = 0; i < 5; i++)      {           for(j = 0; j < 4 - i; j++)

Java基础知识强化07:打印出空心菱形

1.如图打印出空心菱形: 2.下面是逻辑实现代码: 1 package himi.hebao04; 2 3 import java.util.Scanner; 4 5 public class TestDemo08 { 6 public static void main(String[] args) { 7 int length = 1;// 存储菱形的边长的变量 8 Scanner sc = new Scanner(System.in);// 输入数据的扫描对象 9 System.out.pr

(四)、利用命令行参数输入一个整数,打印空心菱形

1 /*利用命令行参数输入一个整数,并判断该数字是否为奇数,如果是奇数,则用其作行数打印空心菱形 2 –PS:将字符串转换为数字的方法 3 •int num=Integer.parseInt(String number);*/ 4 5 package com.gen; 6 public class ArgumentKongLing { 7 public static void main(String args[]) 8 { 9 for (int m= 0; m < args.length;m++

Javascript打印金字塔,倒立金字塔,空心金字塔,菱形,空心菱形等

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>金字塔-菱形-空心</title> <script> var n=window.prompt("请输入行数"); /* 右半边 星号 * 1 ** 2 *** 3 **** 4 第i行,空格无,星号i */ document.write("正右半边<

通过原生JS打印一个空心菱形图案

<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> </head> <body> </body> </html> <script> // 打印一个空心菱形图案 for(var i = 1; i <=6 ; i++){ for(var k = 1 ; k&l

for循环打印空心菱形的新方法

相信大家在学习流程控制的循环结构时,一定都用for循环绘制过菱形和空心菱形吧,我记得我当时写的很麻烦,把一个菱形分为上下两部分,上面2重for循环,下面2重for循环,相信有很多的小伙伴都是这样做的吧,但是这样也造成了很多的代码冗余,今天无意间看到另外一种简便的方法,具体思路和实现过程如下图所示: 思路:   1.先画一个正方形,边长为奇数. 2.定义每一行的初始位置和结束位置,初始值为:边长/2+1. 3. 在每一行的输出位置和结束位置打印*,即为最中间的一条竖线. 4.改变初始位置和结束位置