C语言或Java-x型图案

描述

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

输入描述

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

输出描述

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

示例1

输入:5

输出:

复制代码
        *   *
         * * 
          *  
         * * 
        *   *

示例2

输入:6

输出:

复制代码
        *    *
         *  * 
          **  
          **  
         *  * 
        *    *

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

C语言代码

java 复制代码
#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代码

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();
            }
        }
    }
}
相关推荐
kangkang-2 小时前
PC端基于SpringBoot架构控制无人机(三):系统架构设计
java·架构·无人机
iCxhust3 小时前
c# U盘映像生成工具
开发语言·单片机·c#
yangzhi_emo4 小时前
ES6笔记2
开发语言·前端·javascript
界面开发小八哥4 小时前
「Java EE开发指南」如何用MyEclipse创建一个WEB项目?(三)
java·ide·java-ee·myeclipse
idolyXyz4 小时前
[java: Cleaner]-一文述之
java
一碗谦谦粉4 小时前
Maven 依赖调解的两大原则
java·maven
emplace_back4 小时前
C# 集合表达式和展开运算符 (..) 详解
开发语言·windows·c#
jz_ddk5 小时前
[学习] C语言数学库函数背后的故事:`double erf(double x)`
c语言·开发语言·学习
萧曵 丶5 小时前
Rust 所有权系统:深入浅出指南
开发语言·后端·rust