C语言或Java-x型图案

描述

        KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的X形图案。

输入描述

        多组输入,一个整数(2~20),表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。

输出描述

        针对每行输入,输出用“*”组成的X形图案。

示例1

输入:5

输出:

        *   *
         * * 
          *  
         * * 
        *   *

示例2

输入:6

输出:

        *    *
         *  * 
          **  
          **  
         *  * 
        *    *

分析:X形图案可以拆分成两根斜线,其中i==j时输出星号,或者i==n-i-1时输出星号即可,其他情况皆输出空格

C语言代码

#include <stdio.h>
int main() {
    int a;
    while (scanf("%d", &a) != EOF) 
    {  
       for(int i = 0; i < a; ++i) //行数
       {
            for(int j = 0; j < a; ++j) //列数
            {
                if(i == j)
                    printf("*");
                else if(j == a-i-1)
                    printf("*");
                else
                    printf(" ");
            }
            printf("\n");//一行打印结束换行
        }
    }
    return 0;
}

Java代码

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextInt()) {
            int n = in.nextInt();
            int i=0,j=0;
            for(i=0;i<n;i++){
                for(j=0;j<n;j++){
                    if(i==j){
                        System.out.print("*");
                    }else if((i+j)==n-1){
                        System.out.print("*");
                    }
                    else{
                        System.out.print(" ");
                    }
                }
                System.out.println();
            }
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_64668629/article/details/131948698