C语言:编写程序,实现如下规律的5*5矩阵存入数组,并输出该数组

原创 2018年04月16日 21:14:47

题目来源:大工慕课 链接
作者:Caleb Sung

题目要求

编写程序,实现如下规律的5*5矩阵存入数组,并输出该数组

1       1       1       1       1
1       2       2       2       1
1       2       3       2       1
1       2       2       2       1
1       1       1       1       1

思路

经过观察得知,方阵中每个元素的值为其下面四个属性值中的最小的那个:

  • 行数
  • 列数
  • 6-行数
  • 6-列数

由此就可以写出代码了。

参考解答

由于实在担心自己弄混,这里我int定义的是6*6矩阵,0行与0列没有使用而已:

#include<stdio.h>
void main()
{
    int a[6][6], i, j, tmp;

    //赋值 
    for(i=1; i<=5; i++){
        for(j=1; j<=5; j++){
            tmp = 99;
            if(i < tmp)
                tmp = i;
            if(j < tmp)
                tmp = j;
            if(6-i < tmp)
                tmp = 6-i;
            if(6-j < tmp)
                tmp = 6-j;
            a[i][j] = tmp;
        }
    }

    //打印
    for(i=1; i<=5; i++)
        for(j=1; j<=5; j++)
        {
            printf("%d\t",a[i][j]);
            if(j==5)
                printf("\n");
        }
    printf("\n");

} 

运行结果

1       1       1       1       1
1       2       2       2       1
1       2       3       2       1
1       2       2       2       1
1       1       1       1       1
版权声明:根据中华人民共和国著作权法,转载请标明来源,作者保留依法追究未经授权转载行为的权利 https://blog.csdn.net/qq_41933331/article/details/79966680

Java 5*5数组的三种排列例子

java二维数组的三个例子
  • daobin543
  • daobin543
  • 2017年05月28日 13:44
  • 473

C数组实现矩阵的转置

直接上代码,在代码中有对矩阵的学习,包括初始化学习以及如何使用等。#include /** * 给出提示,要求输入数组A * ,通过二维数组,进行数组的转置 * 得出数组B,输出结果 * *...
  • hongbochen1223
  • hongbochen1223
  • 2015年04月14日 17:41
  • 1961

【c语言】输出以下4*5的矩阵

// 输出以下4*5的矩阵 // 1 2 3 4 5 // 2 4 6 8 10 // 3 6 9 12 15 // 4 8 12 16 20 #include int main() { in...
  • zhaoyaqian552
  • zhaoyaqian552
  • 2015年04月24日 15:30
  • 3819

读取5*5整数数组,显示每行与每列的和

 #include "stdio.h" #include "stdlib.h" #define N 5 int main() {  int a[N][N];  int row_tot...
  • lu_LLLR
  • lu_LLLR
  • 2016年11月30日 23:16
  • 365

编写程序,将一个数组中的元素倒排过来。例如原数组为1,2,3,4,5;则倒排后数组中的值为5,4,3,2,1。

public class _5{   public static void main(String[] argv){   int[] array2 = new int[50];   int i = 0...
  • inaoen
  • inaoen
  • 2010年12月17日 20:15
  • 7952

c语言:编写冒泡排序,排序一个整形数组(从小到大)

程序:不妨按从小到大排序#include stdio.h>int main (){ int a[10]; int i = 0; int j = 0; int t = 0; printf ("input...
  • yanxiaolx
  • yanxiaolx
  • 2016年05月29日 13:34
  • 5444

求5阶矩阵其对角线上所有元素之和

1、代码如下: // test.cpp : Defines the entry point for the console application. // /* 输入一个5*5的矩阵,然后输出其对角...
  • ywxk1314
  • ywxk1314
  • 2016年07月13日 10:48
  • 624

编程输出如下字符图形(2种方法)

题目:在屏幕上输出形如以下图形,第一行的起如字母和终止字母由用户输入。A B C D E B C D E A C D E A B D E A B C E A B C D/*第一种实现方法--使用数组*...
  • Purpleendurer
  • Purpleendurer
  • 2006年03月07日 01:30
  • 3022

c语言:对10个数组元素依次赋值为0,1,2,3,4,5,6,7,8,9,要求按逆序输出。

对10个数组元素依次赋值为0,1,2,3,4,5,6,7,8,9,要求按逆序输出。解:程序:#includeint main(){ int i, a[10]; for (i = 0; i { a[...
  • yanxiaolx
  • yanxiaolx
  • 2016年05月29日 13:40
  • 4843

C语言小试题:找出M行N列矩阵的行最大值,存入数组并输出。

输入M行N列的矩阵,求每一行的最大值,并按相应的次序将其存放到长度为M的一维数组中,然后输出。...
  • HitSouthWall
  • HitSouthWall
  • 2016年11月07日 09:27
  • 1525
收藏助手
不良信息举报
您举报文章:C语言:编写程序,实现如下规律的5*5矩阵存入数组,并输出该数组
举报原因:
原因补充:

(最多只允许输入30个字)