注册 登录
编程论坛 C++教室

QIUJIE(用数组输出有一定规律的n*n矩阵)

书山压力不大 发布于 2021-05-21 21:40, 1322 次点击
编写函数fun,该函数的功能是将N*N的矩阵存放到全局二维数组变量a中。
如果N=3,矩阵如下:
1  2  3
4  1  2
4  4  1
如果N=4,矩阵如下
1  2  3  4
5  1  2  3
5  5  1  2
5  5  5  1
具体要求如下:点击“试题文件夹”按钮进入,打开项目,然后编写程序并进行调试。

#include<stdio.h>
#include<stdlib.h>
#define N 4
static int a[N][N];
void  fun()
{
   int i,j;
   /*************代码开始**********/

  
   /***********代码结束************/
}
void main()
{
   int i,j;
   fun();
   for(i=0;i<N;i++)
   {
      printf("\n");
      for(j=0;j<N;j++)
           printf("%d  ",a[i][j]);
   }
   system("pause");
}

【注意】:部分源程序在文件PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在/*****代码开始****/到/****代码结束****/之间填入缺省的若干语句,并且在该语句块中不允许声明新的变量以及不允许写printf输出语句。
2 回复
#2
rjsp2021-05-21 22:41
请勿改动主函数main和其他函数中的任何内容
不改不行,语法错误事小,主要是代码太恶心

程序代码:
#include <stdio.h>

enum{ N=3 };

void fun( int a[N][N] )
{
    for( size_t r=0; r!=N; ++r )
        for( size_t c=0; c!=N; ++c )
            a[r][c] = r>c ? N+1 : c-r+1;
}

int main( void )
{
    int a[N][N];
    fun( a );
    for( size_t r=0; r!=N; ++r,putchar('\n') )
        for( size_t c=0; c!=N; ++c )
            printf( "%-3d", a[r][c] );
}
#3
书山压力不大2021-05-23 02:41
  for(i=0;i!=N;i++)
      {       for(j=0;j!=N;j++)              
             { if(i>j)
                 a[i][j]=N+1;
             else a[i][j]=j-i+1;
             }
               
       }
1