栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

学霸题 - 数正方形

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

学霸题 - 数正方形

前言:

作者:神的孩子在歌唱

大家好,我叫运智

学霸题 - 数正方形

Description

这是一道学霸题 - 数正方形

你需要用到顺时针标数法, 从第一行第一列往右数:

第一个数字标上00, 第二个数字标上11, cdots⋯, 第ii个数字标上(i - 1)%10(i−1)%10, 如下图所示

你学会了吗?

Input

输入仅包含一个正整数n(1le nle 100)n(1≤n≤100), 代表正方形的边长

Output

输出一个ntimes nn×n的矩阵, 代表在数正方形时所标记的数字

注意: 行末不应该出现多余的空格

Sample Input 1

5

Sample Output 1

0 1 2 3 4
5 6 7 8 5
4 3 4 9 6
3 2 1 0 7
2 1 0 9 8

Sample Input 2

3

Sample Output 2

0 1 2
7 8 3
6 5 4
import java.util.Scanner;


public class Main {
    public static void main(String[] args) {
        Scanner st=new Scanner(System.in);
        int num=st.nextInt();
        int[][] data=new int[num][num];
//     循环将0~9个数字填入
        int i=0,j=0,p=num-1,nums=1,n=num;
        if (num%2!=0){
            n=(num+1)/2;
        }else {
            n=n/2;
        }

        while(n>0){
            int k=p;
            while(j<=k){
                data[i][j]=(nums-1)%10;
                nums++;
                j++;
            }
            int z=p;
            i++;
            j--;
            while(i<=z){
                data[i][j]=(nums-1)%10;
                i++;
                nums++;
            }
            i--;
            k=num-p-1;
            while(j>k){
                j--;
                data[i][j]=(nums-1)%10;
                nums++;
            }

            z=num-p-1;
            i--;

            while(i>z){

                data[i][j]=(nums-1)%10;
                i--;
                nums++;
            }
            i++;
            j++;
            p--;
            n--;
        }
        for (int k=0;k 

本人csdn博客:https://blog.csdn.net/weixin_46654114

转载说明:跟我说明,务必注明来源,附带本人博客连接。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/738867.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号