用for循环实现的菱形图案

package com.wh.lingxing;

import java.util.Scanner;

public class LingXing {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        for (;;) {
            System.out.println("请输入个数:");
            int num = sc.nextInt();
            int num2 = 0;
            if (num % 2 == 0) { // num为偶数时
                num2 = num / 2;
                // 菱形上半部分
                for (int i = 1; i <= num2; i++) {
                    for (int j = num2 - i; j > 0; j--) {
                        System.out.print(" ");
                    }
                    for (int k = 1; k <= 2 * i - 1; k++) {
                        System.out.print("*");
                    }
                    System.out.print("\n");
                }
                // 菱形下半部分
                for (int i = 1; i < num2; i++) {
                    for (int j = 1; j <= i; j++) {
                        System.out.print(" ");
                    }
                    for (int k = 1; k <= num - 1 - 2 * i; k++) {
                        System.out.print("*");
                    }
                    System.out.print("\n");
                }
            } else { // num为奇数时
                num2 = (num + 1) / 2;
                // 菱形上半部分
                for (int i = 1; i <= num2; i++) {
                    for (int j = num2 - i; j > 0; j--) {
                        System.out.print(" ");
                    }
                    for (int k = 1; k <= 2 * i - 1; k++) {
                        System.out.print("*");
                    }
                    System.out.print("\n");
                }
                // 菱形下半部分
                for (int i = 1; i < num2; i++) {
                    for (int j = 1; j <= i; j++) {
                        System.out.print(" ");
                    }
                    for (int k = 1; k <= num - 1 - 2 * i; k++) {
                        System.out.print("*");
                    }
                    System.out.print("\n");
                }
            }
        }

    }
}
时间: 2024-10-20 16:28:20

用for循环实现的菱形图案的相关文章

for循环输出空心菱形的形状【java】

使用for循环语句输出以下"空心菱形"效果: * * * * * * * * * * * * * * * * 建议优先参考笔者的另一篇文章:<for循环输出菱形的形状[java]> 代码: 1 /* 2 * 3 * * 4 * * 5 * * 6 * * 7 * * 8 * * 9 * * 10 * 11 12 分析: 13 上图形似于实心菱形 14 * 15 *** 16 ***** 17 ******* 18 ********* 19 ******* 20 *****

Java50道经典习题-程序19 输入行数打印菱形图案

题目:根据用户输入的行数打印菱形图案,若用户传入的是为偶数则提示用户重新输入,例如输入数字7打印出如下菱形图案   *  *** ************ *****  ***   *分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列. 1 import java.util.Scanner; 2 public class Prog19 { 3 public static void main(String[] args) { 4 Sca

【C语言】用循环语句输出菱形

//用循环语句输出菱形 #include <stdio.h> int main() { int i,j; for(i=0;i<=3;i++) //上4行 { for(j=0;j<=3;j++) //上4行的左边 { if(i+j<=2) printf(" "); else printf("*"); } for(j=4;j<=6;j++) //上4行的右边 { if(j-i>=4) printf(" ");

输出菱形图案,C语言实现

★C语言输出菱形图案 #include<stdio.h>  void a(int i) { int j, k; for (j = 0; j <= 3 - i; j++) printf(" ");       //输出空格 for (k = 0; k<2 * i + 1; k++) printf("*");      //输出* printf("\n"); } int  main() { int i; for (i = 0;

编程成长日记——打印菱形图案

#include<stdio.h> //打印菱形图案  int main() { int i=0,j=0,n=0; printf("请输入一个数字:\n"); scanf("%d",&n); printf("\n"); for(i=1;i<=n;i++) { for (j=1;j<=n-i;j++) { printf(" "); } for (j=1;j<=(2*i-1);j++) { p

sdustoj 打印字母菱形图案

Problem B: 打印字母菱形图案 Time Limit: 1 Sec  Memory Limit: 16 MBSubmit: 2530  Solved: 1769[Submit][Status][Web Board] Description 输出N(N为奇数)行由字母组成的菱形,第1行为字母A,第2行为BCD,第三行为CDEFG,以此类推.菱形上下对称. Input 一个奇数N.0<N<18. Output N行字母组成的菱形图案. Sample Input 7 Sample Outpu

如何利用while语句根据用户输入要求打印菱形图案

需求:如何利用while语句根据用户输入要求打印菱形图案 diamond.py代码如下: x=int(input('Please input number: ')) i=1 j=1 while i<=x: j=1 while j<=x-i : print(' ',end='') j+=1 while j<=x: print('* ',end='') j+=1 print() i+=1 i=1 while i<=x-1: j=1 while j<=i : print(' ',e

根据输入的行数及列数在屏幕输出菱形图案

/*程序运行结果:        1234567  1          #                2        ###  3      #####  4    #######  5      #####  6        ###                         7          #  */ #include <stdio.h> #include <stdlib.h> void diamond(int, int, char); int main(v

习题4-9 打印菱形图案(15 分

本题要求编写程序,打印一个高度为n的.由"*"组成的正菱形图案. 输入格式: 输入在一行中给出一个正的奇数n. 输出格式: 输出由n行星号"*"组成的菱形,如样例所示.每个星号后跟一个空格. 输入样例: 7 输出样例: * * * * * * * * * * * * * * * * * * * * * * * * * #include <stdio.h> int main() { int n; scanf("%d",&n);