给定程序中,函数fun的功能是建立一个N×N的矩阵。矩阵元素的构成规律是:最外层元素的值全部为1;
答案:1 悬赏:10 手机版
解决时间 2021-03-12 03:47
- 提问者网友:雪舞兮
- 2021-03-11 19:19
从外向内第2层元素的值全部为2;第3层元素的值全部为3,…依次类推。例如,若N=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
最佳答案
- 五星知识达人网友:猎心人
- 2021-03-11 20:00
#include <stdio.h>
#define N 5 // 修改此处改变矩阵N的大小
void fun(int *array, int n)
{
int i, j;
for (i=0; i<(n+1)/2; ++i)
{
for (j=i; j<n-i; ++j)
{
*(array+n*i+j) = i+1;
*(array+n*(n-i-1)+j) = i+1;
*(array+n*j+i) = i+1;
*(array+n*j+n-i-1) = i+1;
}
}
}
void main ()
{
int array[N][N], i, j;
fun(&array[0][0], N);
for (i=0; i<N; ++i)
{
for (j=0; j<N; ++j)
{
printf("%-5d", array[i][j]);
}
printf("\n");
}
}
#define N 5 // 修改此处改变矩阵N的大小
void fun(int *array, int n)
{
int i, j;
for (i=0; i<(n+1)/2; ++i)
{
for (j=i; j<n-i; ++j)
{
*(array+n*i+j) = i+1;
*(array+n*(n-i-1)+j) = i+1;
*(array+n*j+i) = i+1;
*(array+n*j+n-i-1) = i+1;
}
}
}
void main ()
{
int array[N][N], i, j;
fun(&array[0][0], N);
for (i=0; i<N; ++i)
{
for (j=0; j<N; ++j)
{
printf("%-5d", array[i][j]);
}
printf("\n");
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯