输出弓形矩阵

#include<stdio.h>
int a[20][20];
void main()
{
    int n,m;
    while(scanf("%d%d",&n,&m)==2)
    {

        int sum=1;
        int i,j;
        for(i=0;i<n;i++)
            for(j=0;j<m;j++)
            {
                if((i+1)%2)
                    a[i][j]=sum++;
                else
                    a[i][m-j-1]=sum++;
            }
            for(i=0;i<n;i++)
            {    for(j=0;j<m;j++)
                {
                    if(j==m-1)
                    printf("%2d",a[i][j]);
                    else
                        printf("%2d ",a[i][j]);

                }
            printf("\n");
            }

    }

}
时间: 2024-11-05 18:43:10

输出弓形矩阵的相关文章

顺时针输出一个矩阵

题目:顺时针输出一个矩阵(N*N). 假设一个矩阵为: 1   2   3   4 5   6   7   8 9  10 11 12 13 14 15 16 那么程序应该给出的输出为:1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10 这个问题在网上也搜集了一下答案,没有什么巧妙的办法,所以下面给出的是完全按照顺时针走向输出的一个代码(自己亲手编写,测试通过): #include <stdio.h> #define N 5 //矩阵的维度 void clockwis

输出一个矩阵,但这次是中空的

lie=int(input('lie:'))hang=int(input('hang:'))phang=1while phang<=hang: plie=1 if phang==1 or phang==hang: while plie<=lie: print('*',end='') plie+=1 while plie<=lie: if plie==1 or plie==lie: print('*',end='') else:print(' ',end='') plie+=1 phang

Java编码 蛇形矩阵的构建与遍历输出

一.蛇形矩阵的构建,并按行输出 例: 输入:n, 生成n*n的蛇形矩阵 1 2 3 8 9 4 7 6 5 输出:1 2 3 8 9 4 7 6 5 java编码 public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); int n = in.nextInt(); if(n < 0) return; if(n == 1){ Sys

matlab fprintf输出矩阵

a=[1,2,3;4,5,6]  是一个2×3矩阵1 2 34 5 6 fid=fopen('d:\chr.txt','wt')  本命令用法网上可以查到,帮助文件里讲的也很清楚 fprintf(fid,'%8.4f %8.3f %6.2f\n',a')     输出矩阵 fclose(fid)   关闭文件 讲一下fprintf命令中每一项的含义: fid    函数句柄,代表之前打开的文件'%8.4f %8.3f %6.2f\n'      输出格式,具体如下:        1.%8.4f

矩阵螺旋输出:

给定一个 m行.n列的矩阵,请按照顺时针螺旋的顺序输出矩阵中所有的元素(从[0][0]位置开始,具体请参见下图). 输入格式 测评机会反复运行你写的程序.每次程序运行时,首先在第一行输入 2 个整数,分别对应题目描述中的 m 和 n,之间用一个空格分隔.接下来输入 m行,每行包含 n 个整数,每两个整数之间用一个空格分隔. 输出格式 输出为一行,包括 m×n 个整数,按照题目要求的顺序依次输出所有矩阵元素,任意两个整数之间用一个空格分隔,最后一个整数后面没有空格. 样例输入1 2 3 1 2 3

java输出矩阵

输出如下矩阵: 0000 0111 0122 0123 public static void main(String[] args){ for(int i=0;i<4;i++){ for(int j=0;j<4;j++){ System.out.print(i>=j?j:i); } System.out.println(); } } java输出矩阵

蛇形三角矩阵

Problem蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形. Input本题有多组数据,每组数据由一个正整数N组成.(N不大于100) Output对于每一组数据,输出一个N行的蛇形矩阵.两组输出之间不要额外的空行. 矩阵三角中同一行的数字用一个空格分开.行尾不要多余的空格. Sample Input5 Sample Output1 3 6 10 152 5 9 144 8 137 1211 #include "stdafx.h"#include <iostream&g

1050. 螺旋矩阵(25)

本题要求将给定的N个正整数按非递增的顺序,填入“螺旋矩阵”.所谓“螺旋矩阵”,是指从左上角第1个格子开始,按顺时针螺旋方向填充.要求矩阵的规模为m行n列,满足条件:m*n等于N:m>=n:且m-n取所有可能值中的最小值. 输入格式: 输入在第1行中给出一个正整数N,第2行给出N个待填充的正整数.所有数字不超过104,相邻数字以空格分隔. 输出格式: 输出螺旋矩阵.每行n个数字,共m行.相邻数字以1个空格分隔,行末不得有多余空格. 输入样例: 12 37 76 20 98 76 42 53 95

C语言之基本算法42—矩阵转置及按行按列排序

//矩阵转置 按行按列排序 /* ================================================================== 题目:输入m*n矩阵,按行升序排列输出. 输入: 4 3 5 6 2 9 8 1 2 8 7 1 2 3 8 输出: 2 3 4 5 6 1 2 8 8 9 1 2 3 7 8 ================================================================== */ #includ